목록rt (2)
개발자는 기록이 답이다

8. 이분검색 예시 입력 1 8 32 23 87 65 12 57 32 99 81 예시 출력 1 3 arr이라는 1차원 배열에 입력값들을 받았고, 받은 다음 Array.soft()를 통해 오름차순 정렬한 상황입니다. 정렬된 상황에서 m인 32가 어디있는가를 찾는 것입니다. 0번인덱스가 첫번째라 인덱스+1해서 32번은 2번째 인덱스이자, 3번째에 있다라고 할 수 있습니다. 이분검색은 무조건 정렬이 되어있어야 합니다. 오름차순이던 내림차순이던 정렬되어있는 상황에서만 통하는게 이분검색입니다. 앞에서부터 하나하나씩 보는건 순차검색입니다. 순차검색으로 제일 뒤에 있는 99를 찾으려면 O(n)시간복잡도가 걸립니다. 이분검색은맨 왼쪽을 가르키는 lt를 0으로 초기화, rt는 n-1로 시작합니다. 그리고 lt와 rt의 ..

4. 후위식 연산(postfix) 예시 입력 1 352+*9- 예시 출력 1 12 후의식이란 숫자가 앞에있고 연산자만 뒤에 빠지는 것 입니다. 중의식 : 5+3, 5-3 후의식 : 53+, 53- 후의식으로 할때 빼기를 당하는 숫자는 왼쪽에 있는 숫자입니다. 숫자면 stack에 푸시하고 연산자를 만나면 꺼냅니다. 먼저 뺀게 오른쪽, 나중에 뺀게 왼쪽, 왼쪽에서 오른쪽을 빼야 합니다. 그래서 후의식을 다 연산하고 나면 스택에 숫자 딱 하나 남아있습니다. 강의 풀이 (Time: 155ms Memory: 27MB) import java.util.Scanner; import java.util.Stack; public class Main { public int solution(String str) { int an..