반응형

ExpertAcademy 22

[ 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 ] 2058. 자릿수 더하기 _ JAVA 문제풀이

풀이 문제에서 자연수는 최대 4자리라고 하여 int[4] 배열을 하나 만들어주었습니다. 숫자를 문자열 String으로 입력받아 그 길이만큼 반복하면서 ( for의 N.length( ) ) CharAt( ) - '0' 연산을 이용해 각 자리수의 값을 sum에 더해주었습니다. 문자열을 CharAt()으로 뽑아내게 되면 하나의 문자 상태가 됩니다. '0' 문자 0은 우리가 사용하는 10진수 int 0과 같지 않으므로 문자를 숫자로 변경해주기 위해 마이너스 ' 0 ' 연산을 해주는 것입니다. 코드 출처 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5QPRjqA10DFAUq&categoryId=AV5QPRjqA10DF..

알고리즘 연습 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

[ SWEA ] 1868. 파핑파핑 지뢰찾기 _ JAVA 문제풀이

풀이 이 문제 풀이는 크게 두 가지 분류로 나뉘지 않았을까 싶습니다. 1. 지뢰의 위치에서 시작하여 방문해야 할 지점들을 체크하는 경우와 2. 주변에 지뢰가 없는 ( 지뢰의 갯수 0 ) 지점의 갯수를 체크하는 경우로 나뉠 것 같습니다. 저 같은 경우에는 2번의 경우로 풀이하였습니다. 1 -> 주변에 지뢰가 없는 지점들 ( 0인 지점 ) 을 BFS를 이용해 해당 지점들을 '#'으로 바꿔주었습니다. --> Check( ) 함수를 이용해 주변에 지뢰가 없는 지역임을 확인하였습니다. --> 이 경우 한 번 클릭해야 하므로 cnt++을 해주었습니다. 2 -> BFS로 0이 되는 인근 지역들을 모두 제거해주었다면 지뢰 ( * ) , 지뢰 갯수 0 ( # ) 이 아닌 ( . ) 의 갯수를 cnt++ 해주어 정답을 찾..

알고리즘 연습 2019.10.16
반응형