SWEA
-
Q. 1860. 진기의 최고급 붕어빵(D3)코딩테스트/SWEA_Java 2023. 5. 10. 23:01
Q. 1860. 진기의 최고급 붕어빵(D3) 0. 문제 D3 난이도의 문제이고, 구현 문제라고 생각된다. N, M, K가 주어진다. N은 붕어빵을 먹으려는 사람의 수 이고, M초에 K개의 붕어빵을 만들 수 있다. 한 손님은 한 개의 붕어빵을 가져 간다고 하면, 모든 손님들에게 기다리는 시간없이 붕어빵을 제공할 수 있는지 판별하는 프로그램을 작성하라. 1. 풀이 1) 손님들이 오는 순서가 차례대로 주어지지 않으므로 먼저 입력을 받은 뒤 정렬을 한다. 2) 그리고 손님들을 받으면서, 만약 현재 붕어빵이 없을 경우 손님의 시간 이하인 K 배수만큼 시간을 더하고, 붕어빵을 만들어서 손님에게 줄 수 있는지 판별한다. 3) 손님에게 줄 수 없을경우 즉시 루프를 종료한다. 시간을 줄이기 위해 손님이 온 시간에 만약 ..
-
Q. 1225. 암호생성기(D3)코딩테스트/SWEA_Java 2023. 5. 9. 21:07
Q. 1225. 암호생성기(D3) 0. 문제 D3 난이도의 문제이고, Queue를 사용한 구현 문제라고 생각된다. 숫자가 8개 주어지고 맨 앞의 숫자에 1을 빼고 맨 앞의 숫자를 맨 뒤로 보낸다. 이후 다음 숫자는 2를 빼고 맨 뒤로 보낸다. 빼는데 사용하는 숫자를 n이라고 했을 때 n이 5를 넘어서면 n은 1이 된다. 입력에 주어진 8개의 수 중 하나라도 0이 되면 루프를 종료하고, 결과를 출력하는 문제이다. 1. 풀이 1) 입력값을 받은 뒤에 큐에 저장한다. 2) 일일히 값을 빼가며 문제의 로직대로 수행한다. import java.util.Arrays; import java.util.Deque; import java.util.LinkedList; import java.util.StringTokeniz..
-
Q 1859. 백만 장자 프로젝트(D2)코딩테스트/SWEA_Java 2023. 5. 8. 23:35
Q 1859. 백만 장자 프로젝트(D2) 0. 문제 D2 난이도의 문제이고, 단순한 배열 순회 문제라고 생각된다. 매일 매일 물건의 가격이 주어진다. 하루에 물건은 하나만 살 수 있고, 파는 수량은 제한이 없다.이 때 최대 이익을 출력하는 문제이다. 1. 풀이 처음에 투 포인터나 정렬을 이용한 문제인가? 라는 생각을 했었는데, 단순하게 생각을 뒤집어서 맨 뒤에서 앞으로 배열을 조회하면 해결할 수 있었다. 1) 배열의 맨 뒤에서 앞으로 순회한다. 1-1) 이 때 만약 기존 최대 가격보다 큰 가격을 만날 경우 그 값을 저장한다. 1-2) 그렇지 않은 경우 기존 최대 가격 - 현재 가격을 결과값에 저장한다. import java.util.Scanner; import java.util.StringTokenize..
-
Q. 1206. View (D3)코딩테스트/SWEA_Java 2023. 5. 7. 22:03
Q. 1206. View(D3) 0. 문제 D3 난이도의 문제이고, 구현 문제라고 생각된다. 빌딩들의 높이가 주어지고, 오른쪽/왼쪽 두 칸이 비어있으면 그 집은 조망권이 확보된다고 말할 때, 조망권이 확보되는 세대의 수를 구하는 문제이다. 1. 풀이 1) 모든 땅에 대해 왼쪽 2칸의 높이의 최대값 & 오른쪽 2칸 높이의 최대값을 저장한다. 2) 그리고 두 값을 현재 땅의 높이와 비교해서, 현재 땅이 양 옆 높이의 최대값보다 높은 경우 그 차이를 결과에 저장하는 방식으로 풀었다. import java.util.Scanner; import java.util.StringTokenizer; import java.io.BufferedReader; import java.io.FileInputStream; impor..
-
Q. 1767 자바 : 프로세서 연결하기코딩테스트/SWEA_Java 2023. 1. 31. 23:17
문제 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV4suNtaXFEDFAUf&categoryId=AV4suNtaXFEDFAUf&categoryType=CODE&problemTitle=1767&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 아래의 단계로 나눠서 풀었던 것으로 기억한다. 1. 먼저 벽에 붙어있지 않은 Core들의 좌표를 List에 저장 2. 코어에 전선을 연결하는 방법 상 하 좌 우를 dy, dx 배열을 이용해 구분하고 이를 dfs 함수로 실행 (반환 조건은 CoreList를 모두 탐색했을 경우) ..
-
삼성 DX 알고리즘 역량 강화 특강 지원코딩테스트/SWEA_Java 2023. 1. 12. 22:57
https://samsungalgorithm.com/ 코딩테스트 준비를 한지 좀 되기도 했고 백준에서 보여주는 solved.ac 티어도 저번주에 달성을 했는데, 마침 운이 좋게 삼성에서 알고리즘 특강을 하는 것을 보고 지원했습니다. 1/7(토) ~ 1/11(수) 까지 사전 문제 풀이인 코딩 테스트를 진행했고 아직 결과는 나오지 않았지만, 출제된문제는 모두 Pass 해서 아마 좋은 결과가 있을 것이라고 생각됩니다. 백준을 통한 코딩테스트 연습이 아닌, 실제로 코딩테스트가 진행되는 환경인 것 같았는데 백준은 문제 난이도에 따라 다르지만, 어느정도 시간을 쓴 뒤에도 문제가 풀리지 않으면 다른 블로그 글을 검색해 문제 풀이 방식을 참고할 수 있었지만 이번 진행한 코딩테스트는 제가 원래 백준에서 하던 방식과 차이..