Category: Problems

  • (KOR) 주사위 굴리기

    Problem – ⭐️ https://www.acmicpc.net/problem/14499 Solution Key Points 시뮬레이션 문제는 문제를 꼼꼼히 잘 읽어야한다! 주사위가 굴러갈 때 칸의 수가 변경되는 부분을 처리하지 않아서 디버깅하는 데 오래 걸렸던 문제

  • (KOR) 로봇 청소기

    Problem – ⭐️⭐️⭐️ https://www.acmicpc.net/problem/14503 Solution Key Points 시뮬레이션 문제는 보통 문제에서 하라는대로 그대로 구현하면 풀리는 문제가 많다 이 문제에서는 조건 c 를 체크하는 것이 헷갈렸던 문제“네 방향 모두 청소가 이미 되어있거나 벽인 경우에는, 바라보는 방향을 유지한 채로 한 칸 후진을 하고 2번으로 돌아간다” 그림의 파란색 선

  • (KOR) 프린터 큐

    Problem – ⭐️⭐️⭐️ https://www.acmicpc.net/problem/1966 Solution Solution 1 – NodeQueue 클래스 정의 Solution 2 – 2 개의 큐를 이용한 비교 – ⭐️⭐️⭐️ Key Points Solution1 은 문제에서 주어진대로 새로운 큐 클래스를 정의한 풀이이며 Solution 2는 일반 큐와 priority가 높은 순서대로 정렬시켜 놓은 큐를 이용하여 값을 비교하면서 풀이한 방법이다. Scanner scan =…

  • (KOR) 하노이 탑 이동 순서

    Problem – ⭐️⭐️ https://www.acmicpc.net/problem/11729 Solution Key Points 점화식을 떠올리는 것이 포인트였던 문제. 장대가 3개이므로 1~(n-1)까지는 1->2로, n 은 1->3으로, 그리고 1~(n-1)을 2->3으로 옮겨주면 된다. 점화식이 바로 떠오르지 않는 경우, 직접 시도해보면서 아이디어 떠올릴 수 있도록 하자

  • (KOR) 블랙잭

    Problem – ⭐️⭐️⭐️⭐️⭐️ https://www.acmicpc.net/problem/2798 Solution Key Points Iteration, Recursion 둘 다 연습해 볼 수 있는 좋은 문제. 주어진 배열을 우선 sort 한 후 sum을 계산하는 것이 더 시간효율적이다. 작은 수 더했을 때 M보다 크면 큰 수 더하는 작업은 해보나 마나 이기 때문. Recursion 의 경우 백트래킹의 수도코드처럼 isValid 할 경우만…

  • (KOR) 별 찍기 – 10

    Problem – ⭐️⭐️⭐️ https://www.acmicpc.net/problem/2447 Solution Key Points Board를 Grid로 나눠서 여러번 재귀를 호출하는 것이 주요 포인트였던 문제. 작은 문제를 재귀로 여러번 호출하는 것의 대표적인 문제 재귀는 본인을 반드시 한번만 부르는 것이 아니다

  • (KOR) 가사 검색

    Problem – ⭐️⭐️⭐️⭐️⭐️ https://programmers.co.kr/learn/courses/30/lessons/60060 Solution Key Points Main Point 자료구조 트라이(Trie)를 사용하는 것 각 노드 당 몇 개의 Leaf node가 존재하는 지 정보를 저장하는 것 – 변수 wordCount 처음 풀이할 때는, wordCount를 저장하지 않고 DFS 로 탐색해서 count를 반환하도록 하였다. 그러나 이 방법은 extra 시간을 요구하므로 timeout. Word 길이당 다른…

  • (KOR) 자물쇠와 열쇠

    Problem – ⭐️⭐️⭐️⭐️ https://programmers.co.kr/learn/courses/30/lessons/60059# Solution Key Points 배열을 확장시켜서 생각하는 것이 키 포인트인 문제. board를 key, lock을 다 수용할 수 있는 크기의 배열로 설정해서 경우의 수를 다 따져보는 게 핵심 배열을 겹칠 때, 각 값을 더해서 아래의 그림과 같이 Lock 배열 부분이 1이 아닌 수가 있는지 없는지만 찾아내면 된다

  • (KOR) 괄호 변환

    Problem – ⭐️⭐️ https://programmers.co.kr/learn/courses/30/lessons/60058# Solution Key Points 문제에서 주어진 대로 solve 메소드를 구현하면 풀 수 있었던 문제 재귀함수를 사용할 때, result값을 parameter로 제공하지 않아도 된다

  • (KOR) 문자열 압축

    Problem – ⭐️ https://programmers.co.kr/learn/courses/30/lessons/60057 Solution Key Points 브루트포스로 모든 경우의 수를 다 확인해야 했던 문제.