BoBo World

[Programmers] #12909 - 올바른 괄호 [Java][C++][Python]

문제 링크 1. 아이디어 문자열을 왼쪽부터 훑으면서, 닫는 괄호가 나올 때마다 아직 짝을 못 찾은 여는 괄호가 앞에 있는지 확인한다. 끝까지 읽었을 때 짝을 못 찾은 여는 괄호가 하나도 남지 않아야 올바른 괄호다. 괄호 문제를 해결하는 대표 방식인 스택 풀이는 여는 괄호를 스택에 쌓고 닫는 괄호를 만나면 스택에서 하나 꺼낸다. 닫는 괄호인데...

[Programmers] #12906 - 같은 숫자는 싫어 [Java][C++][Python]

문제 링크 1. 아이디어 배열에서 지워야 하는 대상은 서로 인접한 위치에서 반복되는 숫자뿐이다. 같은 숫자라도 떨어져 있으면 그대로 남기고, 바로 옆에 연달아 나오는 경우에만 하나로 합친다. 그러므로 배열을 앞에서부터 한 번 순회하면서 직전에 결과에 추가한 값과 현재 값을 비교해, 서로 다를 때만 결과에 추가하면 된다. 이러면 매 원소를 한 ...

[Programmers] #120838 - 모스부호 (1) [Java][C++][Python]

문제 링크 1. 아이디어 모스부호를 해독하는 문제로 모스부호와 알파벳 소문자를 1대1로 대응시키는 표를 만들고, 공백으로 구분된 모스부호 문자열 letter를 토큰 단위로 분리해 각각을 대응되는 문자로 치환하면 되는 문제다. 모스부호 사이 공백은 항상 하나이고 해독 불가능한 입력은 주어지지 않으므로, 공백 기준으로 자른 각 토큰을 표에서 조회...

[Programmers] #120835 - 진료순서 정하기 [Java][C++][Python]

문제 링크 1. 아이디어 emergency 값이 클수록 응급도가 높으므로, 값 기준 내림차순으로 정렬했을 때의 순위가 곧 진료 순서가 된다. 값 자체를 정렬하면 원래 인덱스 정보를 잃으므로, 인덱스 배열을 만들어 emergency 값 기준 내림차순으로 정렬한 뒤, 정렬된 순서대로 1부터 순위를 매겨 각 인덱스가 원래 있던 위치에 그 순위를 기...