반응형

SWEA 25

[ SWEA ] 1953. [모의 SW 역량테스트] 탈주범 검거 JAVA 문제풀이

풀이 표의 그림은 복잡해 보이지만 생각보다 간단한 BFS 문제입니다. 맵의 상태를 입력으로 받아준 뒤, 시작지점의 좌표 ( start_i, start_j, time - 1 )에서 탐색을 시작합니다. 이때 맵의 정보 (cap)을 이용하여 cap이 1 ~ 7 각각의 경우에 대해 모두 처리해주었습니다. 여기에서 주의할 점으로는, 현재 위치에서 다음 지점으로 연결되어 있다고 할지라도, 다음 지점에서도 현재 지점으로 파이프가 연결되어 있어야 이동 가능하다는 점입니다. 이 점에 주의한다면 코드는 길지만 어렵지 않게 풀이할 수 있는 문제입니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; i..

알고리즘 연습 2020.02.03

[ SWEA ] 1949. [모의 SW 역량테스트] 등산로 조성 JAVA 문제풀이

풀이 이 문제는 DFS를 이용하여 풀이하였습니다. 1. 입력을 받을 때 봉우리의 높이를 알아야 하므로 max 변수를 이용하여 봉우리의 위치를 찾아주었습니다. 2. 문제에서 등산로는 가장 높은 봉우리에서 시작한다고 하였으므로 ArrayList를 이용하여 시작점이 될 수 있는 봉우리의 위치를 start 리스트에 저장해주었습니다. 3. start 리스트에 있는 사이즈만큼 각 봉우리의 위치에서 DFS를 실행하였습니다. 이때, 인자로는 ( i, j, 지형을 깎을 수 있는지 여부, 현재까지 등산로의 길이, 현재 높이 )로 설정해주었습니다. 4. 이후 dfs 함수에서 공사를 진행할 기회가 남아 있을 때 ( cut == 1 )와 더 이상 공사를 진행할 수 없을 때 ( cut == 0 ) 으로 나누어주었습니다. 5. D..

알고리즘 연습 2020.02.03

[ SWEA D4 ] 6719. 성수의 프로그래밍 강좌 시청 _ JAVA 문제풀이

풀이 성수가 가질 수 있는 실력의 최대 수치를 찾아야 하므로 입력받은 arr 배열을 정렬해주었습니다. ※ 주의할 점은, 정렬해준 뒤 가장 큰 수 부터 찾으면 최적의 답안이 될 수 없고 선택될 숫자들 중에서 작은 숫자부터 큰 숫자로 찾아 나가야 합니다. 이를 위해서 N-K에서 시작하여 N번째 수까지 선택해주었습니다. 최적의 답안을 찾기 위해 정렬을 하고, 필요한 하는 숫자들만 찾아내도록 조건식만 잘 설정해주면 쉽게 풀 수 있는 문제였습니다. 코드 출처 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWd7sgDatsMDFAUh SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐..

알고리즘 연습 2019.10.23

[ SWEA_D1 ] 2072. 홀수만 더하기 _ JAVA 문제풀이

풀이 각 테스트 케이스마다 10개의 수를 입력받은 뒤 홀수들만 모두 더해주었습니다. 홀수를 나누는 경우는 % 2 연산을 이용해 나머지가 1인 경우입니다. for문을 이용하여 간단히 풀이할 수 있는 문제였습니다. 코드 출처 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5QSEhaA5sDFAUq&categoryId=AV5QSEhaA5sDFAUq&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com

알고리즘 연습 2019.10.17

[ SWEA_D1 ] 2056. 연월일 달력 _ JAVA 문제풀이

풀이 전역변수를 이용해 daycount라는 배열에 각 달에 해당하는 일 수를 저장했습니다. 배열의 인덱스는 0부터 시작하기 때문에 맨 앞 0번째에는 0을 넣어주었습니다. 날짜는 총 8자리로 구성되기 때문에 앞에 4자리를 짤라 연도를, 그 다음 2자리는 월을 그 다음 2자리는 일 수를 연월일을 잘라주기 위해 subString( ) 함수를 사용하였습니다. 그 다음 if 문을 이용하여 불가능한 날짜들은 -1을 출력하도록 해주었고 연도가 3자리인 경우, 월이 1자리인 경우에 대해 각각 if문으로 처리해주었습니다. 코드 출처 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5QLkdKAz4DFAUq&categoryId=A..

알고리즘 연습 2019.10.17

[ SWEA_D1 ] 2071. 평균값 구하기 _ JAVA 문제풀이

풀이 각 테스트케이스마다 10개의 수를 입력받습니다. 입력되는 수들은 바로 sum 변수에 더해주었고 10개의 수를 모두 더해준 뒤에 double 형 변수 sum에 Math.round( sum / 10 ) 을 이용하여 정답을 찾아주었습니다. Math.round 함수는 소수점 첫 번째 자리를 반올림하여 정수로 리턴시켜주는 함수입니다. 코드 출처 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5QRnJqA5cDFAUq&categoryId=AV5QRnJqA5cDFAUq&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpe..

알고리즘 연습 2019.10.17

[ SWEA_D1 ] 2070. 큰 놈, 작은 놈, 같은 놈 _ JAVA 문제풀이

풀이 테스트 케이스 별로 두 개의 숫자를 입력받습니다. 이후 if else 문을 이용하여 A보다 B가 큰 경우, 같은 경우, 작은 경우에 대해 각각 알맞은 출력을 할 수 있도록 해주었습니다. 코드 출처 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5QQ6qqA40DFAUq&categoryId=AV5QQ6qqA40DFAUq&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com

알고리즘 연습 2019.10.17

[ SWEA_D1 ] 2063. 중간값 찾기 _ JAVA 문제풀이

풀이 먼저 주어진 숫자들을 배열에 저장하였습니다. 이후 Arrays.sort( ) 함수를 이용해서 오름차순으로 정렬해준 뒤에 ( N / 2 ) 번째의 수를 출력하여 중간값을 찾아주었습니다. 코드 출처 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5QPsXKA2UDFAUq&categoryId=AV5QPsXKA2UDFAUq&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com

알고리즘 연습 2019.10.16

[ SWEA_D1 ] 1545. 거꾸로 출력해 보아요 _ JAVA 문제풀이

풀이 입력으로 받은 수 N 부터 0까지 출력해주면 되는 문제입니다. 간단하게 for문을 이용해서 1씩 빼주면서 출력해주었습니다. 코드 출처 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV2gbY0qAAQBBAS0&categoryId=AV2gbY0qAAQBBAS0&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com

알고리즘 연습 2019.10.16

[ SWEA_D1 ] 2047. 신문 헤드라인 _ JAVA 문제풀이

풀이 자바에는 문자열을 대문자로 변환하는 toUpperCase( ) 함수와 toLowerCase( ) 함수가 제공됩니다. 이를 이용한다면 문자열 전체를 한 번에 대문자 혹은 소문자로 쉽게 변환할 수 있습니다. JAVA 사용자들에게는 굉장히 쉬운 문제인 것 같습니다. 코드 출처 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5QKsLaAy0DFAUq&categoryId=AV5QKsLaAy0DFAUq&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com

알고리즘 연습 2019.10.16
반응형