본문 바로가기

알고리즘41

[BOJ] 2753. 윤년 (Java) 문제 링크 / level: Bronze IV https://www.acmicpc.net/problem/2753 2753번: 윤년 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다. www.acmicpc.net 내가 생각한 풀이 윤년에 대한 로직을 공부하기 위해 풀어봤다. 예전에 분명 풀어봤던 기억이 있어서 SWEA 사이트에서 뒤지다가 안 나오길래 BOJ 뒤지니까 바로 나옴^_^ㅎㅎ .. 2020. 4. 3.
[SWEA] 4406. 모음이 보이지 않는 사람 (Java) 문제 링크 / level: D3 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWNcD_66pUEDFAV8&categoryId=AWNcD_66pUEDFAV8&categoryType=CODE 내가 생각한 풀이 요 며칠 알고리즘 문제를 풀지 않아서, 몸풀기용으로 하나 풀기 위해 고른 문제다. 문제는 심플하다. input으로 주어지는 알파벳으로 된 문자열에서 모음(a, e, i, o, u)만 제거한 결과를 출력해주면 된다. 이왕 몸풀기용으로 선택한 문제인만큼 연습을 위해 StringBuilder 클래스를 활용해보기로 했다. 한 눈에 보기에도 어렵지 않은 문제여서, 처음에는 단순히 입력 받은 문자열 길이 만큼 for문을.. 2020. 4. 3.
[BOJ] 7576. 토마토 (Java) 며칠 전 BFS 알고리즘 계의 바이블이라고 불리는 토마토 문제를 처음으로 풀어보았다. 링크: https://ming-jee.tistory.com/3 연습 - [BOJ] 7576. 토마토 문제 링크 / level: Silver I https://www.acmicpc.net/problem/7576 내가 생각한 풀이 요 며칠 BFS를 공부하면서 관련 문제를 풀고 있어서 도전하게 된 토마토 문제. BFS의 바이블 같은 문제라고 한다. 하지만 그.. ming-jee.tistory.com 근데 처음 풀어보는 유형의 BFS라서 (큐를 2개 이용해야하는 것) 다른 사람들의 코드를 참고한 부분이 많았다. 물론, 처음부터 끝까지 다 곱씹어가며 이해하면서 작성하긴 했지만! 그래서 시간이 좀 지난 후에 내가 온전히 스스로 문.. 2020. 3. 30.
연습 - [BOJ] 7576. 토마토 (Java) 문제 링크 / level: Silver I https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토들의 정보가 주어진다. 즉, 둘째 줄부터 N개의 줄에는 상자에 담긴 토마토의 정보가 주어진다. 하나의 줄에는 상자 가로줄에 들어있는 토마토의 상태가 M개의 정수로 주어진다. 정수 1은 익은 토마토, 정수 0은 익지 않은 토마토, 정수 -1은 토마 www.acmicpc.net 내가 생각한 풀이 요 며칠 BFS를 공부하면서 관련 문제를 풀고 있어서 도전하게 된 토마토 문제.. 2020. 3. 29.
[SWEA] 1217. [S/W 문제해결 기본] 4일차 - 거듭 제곱 (Java) 문제 링크 / level: D3 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14dUIaAAUCFAYD&categoryId=AV14dUIaAAUCFAYD&categoryType=CODE 내가 생각한 풀이 가장 쉽게 생각할 수 있는 방법 한 가지는 Math 클래스의 pow 메소드를 활용하는 것. (참고: java.lang) JAVA API 문서에서 캡처해온 것인데 이 pow 메소드를 활용하면 아주 손쉽게 거듭 제곱한 결과를 얻을 수 있다. 그리고 또 하나의 쉬운 방법은 그냥 거듭 제곱 하려는 횟수만큼 for문을 돌리는 것이다. 이 또한 아주 쉽게 생각해낼 수 있는 방법이다. 하지만 이 문제에서 요구하는 것은 재.. 2020. 3. 28.