코딩테스트 연습 > 뒤에 있는 큰 수 찾기 - JAVA
https://school.programmers.co.kr/learn/courses/30/lessons/154539 풀이 - 나의 생각 뒤에 있는 나보다 큰 수를 찾는 것이기 때문에 뒤에서부터 찾으면 수월할 거라고 생각을 했다. 최악의 경우 1, 1, 1 , 1 , 1 , 1 , 1 , 1 --------------------------, 9 이런 경우 단순히 반복문으로 i = 0,1,2,3 --- n-1 의 경우 i = n 까지 뒤져 봐야 하는데 너무 비효율적이라고 생각했기 때문이다. 결국 문제는 나보다 큰 수가 어디 있을지 모르는 것이다. 그래서 뒤에서부터 찾기로 했다. Stack을 사용(여기서는 Deque를 사용했지만)해서 값들을 저장하는데 나보다 큰 값을 찾을 때까지 Stack에 있는 값들을 다 ..
2024. 1. 9.
코딩테스트 연습 > 모음사전 - JAVA
https://school.programmers.co.kr/learn/courses/30/lessons/84512 풀이 - 나의 생각 이런 문제는 수학적으로 푸는게 가장 좋다. 주어진 문자열이 사전에서 몇번째에 위치하는지를 찾는다. 예로 단어 순서 A 1 AA 2 AAAAA 5 AAAAE 6 AAAE 10 이런식이다. 5자리가 최대로 A부터 시작해서 UUUUU로 끝난다. AAAAA, AAAAE, AAAAI, AAAAO, AAAAU 이렇게 A, E, I, O, U 순으로 진행되는데 자릿수에 따라 1 + i( A, E, I, O, U 순서)* 5 로 단어의 위치가 증가하는 것을 볼 수 있다. 781, 156, 31, 6, 1 이런 방식으로 증가합니다. 5의 자리는 1씩 증가 예) AAAAA = 5, AAAA..
2024. 1. 7.