목록전체 글 (81)
개발 공부 기록
Question https://www.acmicpc.net/problem/9019 9019번: DSLR 네 개의 명령어 D, S, L, R 을 이용하는 간단한 계산기가 있다. 이 계산기에는 레지스터가 하나 있는데, 이 레지스터에는 0 이상 10,000 미만의 십진수를 저장할 수 있다. 각 명령어는 이 레지스터에 www.acmicpc.net 💡 Solution 아래는 BFS를 이용한 방식으로, 먼저 큐에 A를 넣습니다. 이후 A에서 DSLR 연산을 거친 새로운 수를 큐에 넣고, 다시 해당 수에서 DSLR 연산을 거쳐가는 방식입니다. 이 과정을 숫자 B에 들릴 때까지(visites[B] == true) 수행합니다. 💻 Code import java.io.BufferedReader; import java.io..
Question https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 💡 Solution 가장 먼저 팀을 나누기 위해 visited 배열을 이용하여 N명까지 모든 조합을 탐색합니다. 이때 방문한(true) 사람들은 start팀으로, 방문하지 않은(false) 사람들은 link팀으로 구분합니다. 팀을 나눌 때 중요한 점은, 이미 탐색한 사람은 다시 visited를 false로 설정하여 다른 조합을 구성할 수 있도록 합니다. solve가 N / 2만큼 호출되어 팀이 모두 나..
Question https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWGsRbk6AQIDFAVW SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 💡 Solution 이번 문제는 단순 구현 문제로, 실제 코딩 테스트를 보고 있는 상황이라 가정하여 시간이 얼마 안 남았을 경우 내가 생각한대로 막 구현해보자! 라는 마음으로 풀어봤습니다. 따라서 풀이가 깨끗하지 않을 수도 있습니다😂 제가 인덱스를 가지고 노는 것에 약한데, 연습이 더욱 된다면 코드가 더 간결해질 수 있을 거 같습니다. 💻 Code import java.io.Buff..
Question https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWT-lPB6dHUDFAVT SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 💡 Solution 이번 문제를 통해 부분 집합에 대해 학습할 수 있었습니다. 공집합을 포함한 모든 원소의 경우의 수를 의미하는 부분 집합은 어떤 항목을 선택하거나 선택하지 않는 모든 경우의 수를 고려하는 문제에서 주로 사용됩니다. 이 문제는 인덱스를 1씩 증가시키면서 재료를 선택하거나 선택하지 않는 모든 가능한 부분 집합을 찾고, 각 경우 중 최대 점수를 찾는 것이 목표입니다. 💻..

Question https://www.acmicpc.net/problem/13335 13335번: 트럭 입력 데이터는 표준입력을 사용한다. 입력은 두 줄로 이루어진다. 입력의 첫 번째 줄에는 세 개의 정수 n (1 ≤ n ≤ 1,000) , w (1 ≤ w ≤ 100) and L (10 ≤ L ≤ 1,000)이 주어지는데, n은 다리를 건너는 트 www.acmicpc.net 💡 Solution time++; : 1초씩 증가시킵니다. weight -= bridge.poll(); : 1초가 지날 때마다 하나의 트럭이 다리 위에서 빠집니다. (W 길이까지는 0이 빠집니다.) if(!truck.isEmpty()) {} : 다리를 건너지 않은 트럭이 남아있을 경우 if(weight + truck.peek()
Question https://www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 💡 Solution 큐를 이용해서 금방 해결할 수 있는 문제입니다. 큐의 맨 앞의 값을 현재를 가르키는 current 변수로 두고, current 값을 인쇄할 수 있는 상태(= current 값이 큐의 최댓값일 때)라면 count 값을 1 증가시킵니다. 이때 해당 값의 인덱스가 M이라면 바로 출력을 진행합니다. 만일 current 위치의 값을 인쇄할 수 있는 상태가 아니라면, 해당 값..
Question https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV19AcoKI9sCFAZN SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 💡 Solution 처음에는 bit가 모두 0으로 초기화되어 있으니 '0' 값을 가지는 문자 타입의 변수 before를 선언합니다. 이후 복구시켜야 할 값 memory의 각 자릿수와 차례대로 비교했을 때 둘이 다르다면 before를 해당 memory 값으로 변경하고, 수정 횟수를 1씩 증가시킵니다. 위 과정을 memory의 끝에 다다를 때까지 반복합니다. 💻 Code import j..
Question https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PrmyKAWEDFAUq SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 💡 Solution Arrays.sort() 를 통해 배열에 존재하는 요소들을 오름차순으로 정렬 후 출력해도 되고, 저는 버블 정렬을 구현해서 해결했습니다. 💻 Code import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; im..
Question https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PzOCKAigDFAUq SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 💡 Solution 완전 탐색으로 풀었습니다. 배열의 처음부터 M X M 이 가능한 곳까지를 범위로 잡고, 그 안에서 가능한 M X M 값을 다 비교하며 최댓값을 찾습니다. 💻 Code import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.text.B..
Question https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV13zo1KAAACFAYh SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 💡 Solution 각 시험 점수의 등장 횟수를 저장할 배열을 선언하고, 해당 시험 점수가 등장할 때마다 배열[시험 점수] 값을 1씩 증가시키면 됩니다. 💻 Code import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokeni..