목록Algorithm (153)
다희의 코딩 성장일기
[ 문제 ] [백준] 11899. 괄호 끼워넣기 (자바 JAVA) 문제 링크 : https://www.acmicpc.net/problem/11899 11899번: 괄호 끼워넣기 첫 번째 줄에 S를 올바른 괄호열으로 만들기 위해 앞과 뒤에 붙여야 할 괄호의 최소 개수를 출력합니다. 불가능한 경우는 주어지지 않습니다. www.acmicpc.net # 접근 방법 및 풀이 스택 기초 문제다. 올바른 괄호열이라면 '('일때 stack에 push하고 ')'일때 stack에서 pop해서 주어진 문자열을 다 탐색하고 난 뒤에 스택 사이즈는 0일 것이다. 그러나 문제에선 올바른 괄호열을 만들기 위해 필요한 최소 횟수이므로, 위의 특징을 알고 있다면 쉽게 풀 수 있다. 마찬가지로 '('일때 stack에 push하고, ')..
[ 문제 ] [SWEA] 1953. 탈주범 검거(자바 JAVA) 문제 링크 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PpLlKAQ4DFAUq SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com # 접근 방법 및 풀이 BFS + 구현 문제이다. 처음에 그냥 터널이 깔린 곳은 다 갈 수 있는 줄 알았는데, 터널이 서로 연결될 수 있는 구조일때만 갈 수 있다. 1~7번 터널 중, "현재 터널 번호에 따라 살펴볼 수 있는 방향"과 "터널 번호에 따라 연결될 수 있는 구조물"이 다르다. 이 2가지를 처리하는게 핵심인 문..
[ 문제 ] [SWEA] 4012. 요리사 (자바 JAVA) 문제 링크 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWIeUtVakTMDFAVH SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com # 접근 방법 및 풀이 조합으로 풀었다. 근데 조합코드보단 부분집합이 섞인..? 식재료 수는 N 개고 짝수다. 이중 절반을 뽑아, 뽑은것은 A, 뽑지않은 것은 B로 나눠서 풀었다. 따라서 최대 N = 16일때, 8개를 뽑아야 하므로 16C8로 시간 안에 풀 수 있다. 시간초과가 난다면 2^16개를 다 뽑은 후 절반으로 나뉘어..
[ 문제 ] [SWEA] 5650. 핀볼게임 (자바 JAVA) 문제 링크 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRF8s6ezEDFAUo&categoryId=AWXRF8s6ezEDFAUo&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com # 접근 방법 및 풀이 구현 시뮬레이션 문제다. 생각보다 정말 오랜시간 걸려서 풀었다.. 댓글이 가장 많길래 논란이 있는 문젠가 싶었더니 역시 고려해주어야 할 부분이 많아 까다로웠다. 근데 쉽게 생각하면 정말 문제 그 대 로 구현하면 된다. ..
[ 문제 ] [백준] 17298. 오큰수 (자바 JAVA) 문제 링크 : https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net # 접근 방법 및 풀이 스택을 이용한 문제다. 진짜 자바라서 좀 짜증나는 문제였다. 자바는 왜 입출력에 그렇게 시간이 오래걸리냐? 같은 로직이어도 언어에 따라서 수행시간이 당연히 다르겠지만, 자바는 입력이나 출력을 뭐로 하냐에 따라 문제 통과여부가 갈려서 화난다.. 그리고 문제를 어디서 풀어봤나 싶었더니, https://ilmiodia..
[ 문제 ] [백준] 11286. 절대값 힙 (자바 JAVA) 문제 링크 : https://www.acmicpc.net/problem/11286 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net # 접근 방법 및 풀이 우선순위 큐 문제다. 우선순위 큐에 원하는 기준을 통해 정렬을 해야하는데, 절대값과 원래 값을 담는 클래스를 만들어 구현했다. 절대값이 가장 작은 값을 뽑는 형태로 최소힙인데, 그값이 여러개 일때는 가장 작은 수를 출력해야한다. 문제 예제처럼 1과 -1이 있다면 둘의 절대값이 ..