문제 https://school.programmers.co.kr/learn/courses/30/lessons/17683 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 내가 기억한 멜로디와 musicinfos에 있는 멜로디와 비교하기 위해 "C"과 "C#"을 구별하는 방법이 필요하다. 간단하게 replace를 활용해 "#"이 포함된 문자는 다른 문자로 대체한다. (ex. C# -> H) 각 음은 1분에 1개씩 재생되기 때문에 재생 시간이 멜로디의 길이보다 클 경우 멜로디의 길이를 재생 시간만큼 늘려준다. "조건이 일치하는 음악이 여러 개일 때에는 라디..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/152995 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 일단 1 ≤ scores의 길이 ≤ 100,000의 제한이 있기 때문에 O(n^2)으로 한 사원마다 모든 사원을 비교해 풀게 되면 시간 초과가 발생한다. 그렇기 때문에 O(n)으로 풀어주어야 한다. 문제에서 중요한 조건 중 하나가 "어떤 사원이 다른 임의의 사원보다 두 점수가 모두 낮은 경우가 한 번이라도 있다면 그 사원은 인센티브 받지 못한다." 라는 것이다. 일단 근무 태도 점수를..
문제 크기가 N인 수열 A = A1, A2, ..., AN이 있다. 수열의 각 원소 Ai에 대해서 오큰수 NGE(i)를 구하려고 한다. Ai의 오큰수는 오른쪽에 있으면서 Ai보다 큰 수 중에서 가장 왼쪽에 있는 수를 의미한다. 그러한 수가 없는 경우에 오큰수는 -1이다. 예를 들어, A = [3, 5, 2, 7]인 경우 NGE(1) = 5, NGE(2) = 7, NGE(3) = 7, NGE(4) = -1이다. A = [9, 5, 4, 8]인 경우에는 NGE(1) = -1, NGE(2) = 8, NGE(3) = 8, NGE(4) = -1이다. 입력 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,00..