목록인프런 (70)
개발자는 기록이 답이다

7. 교육과정 설계 예시 입력 1 CBA CBDAGE 예시 출력 1 YES 내가 푼 풀이(Time: 164ms Memory: 27MB) 필수 과목들을 먼저 Q에 집어넣고, k문자열을 순회하면서 Q의 상단(앞단)에 있는거라아 일치하면 Q의 원소를 빼내줍니다. 이때 isEmpty()를 걸어주지 않으면 큐가 비어있는데 peek()을 하려고 해서 NullpointException이 나옵니다. 그리고 마지막 큐의 사이즈가 비어있지 않으면 NO를 리턴합니다. import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main { public String solution(String need, String k) ..

6. 공주구하기 예시 입력 1 8 3 예시 출력 1 7 내가 푼 풀이(Time: 165ms Memory: 27MB) Q 원소의 사이즈가 1일때까지 반복문을 돌면서 1)cnt가 3일때 빼주고 cnt=0으로 재 세팅하고, 2)나머지는 다시 뒤로 넣습니다. import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main { public int solution(int n, int k) { Queue queue = new LinkedList(); for (int i = 1; i 1) { int front = queue.poll(); cnt++; if (cnt == k) cnt = 0; else queue...

5. 쇠막대기 예시 입력 1 ()(((()())(())()))(()) 예시 출력 1 17 예시 입력 2 (((()(()()))(())()))(()()) 예시 출력 2 24 문제를 이해하는 것이 중요했다. 개인적으로 이렇게 길고 그림이 나오면 읽는데 집중이 안되는데, 이것도 연습이 필요하겠지 코드상으로는 간단한데, 어떻게 풀지 생각해낼 수 있느냐가 중요하다 스택을 생성하고 여는 괄호를 만나면 무조건 push 해야합니다. 그리고 닫는 괄호를 만나면 1) 레이저의 쌍으로 닫는 괄호 2) 막대기의 끝을 알리는 괄호 2가지중에 어떤거인지 판단해야합니다. 어떻게 판단하냐면, 바로 앞에꺼가 여는 괄호라면 레이저입니다. 그때 막대기를 자르는 겁니다. 그게 아니라면 그냥 막대기입니다. 다시 말해서,닫는 괄호를 만났을때 ..

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..