본문 바로가기

알고리즘/백준126

[Java] BOJ 1038번 감소하는 수 1038번: 감소하는 수 음이 아닌 정수 X의 자릿수가 가장 큰 자릿수부터 작은 자릿수까지 감소한다면, 그 수를 감소하는 수라고 한다. 예를 들어, 321과 950은 감소하는 수지만, 322와 958은 아니다. N번째 감소하는 수를 www.acmicpc.net 풀이 재귀함수를 이용해서 해결했습니다. 자세한 사항은 코드의 주석을 참고해주세요! 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Main { public st.. 2021. 7. 7.
[Java] BOJ 14226번 이모티콘 14226번: 이모티콘 영선이는 매우 기쁘기 때문에, 효빈이에게 스마일 이모티콘을 S개 보내려고 한다. 영선이는 이미 화면에 이모티콘 1개를 입력했다. 이제, 다음과 같은 3가지 연산만 사용해서 이모티콘을 S개 만 www.acmicpc.net 풀이 BFS와 Memoization을 사용하여 해결했습니다. 이때, 현재 화면에 보이는 이모티콘의 길이와 클립보드에 저장된 이모티콘의 길이를 visited(memoization)의 인덱스로 사용한 방문처리를 통해 중복을 없엤습니다. 자세한 사항은 코드의 주석을 참고해주세요 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.u.. 2021. 7. 6.
[Java] BOJ 2470번 두 용액 2470번: 두 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,00 www.acmicpc.net 풀이 정렬을 한 후, 투 포인터를 사용해서 해결했습니다. 이때, 문제에서 0에 제일 가까운 값을 찾기위해 절대값을 사용해서 최소값과 비교를 통해 정답을 갱신시켰습니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTok.. 2021. 7. 5.
[Java] BOJ 12851번 숨바꼭질 2 12851번: 숨바꼭질 2 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 www.acmicpc.net 풀이 BFS를 활용하여 해결했습니다. 코드의 주석을 참고해주세요. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class Main { .. 2021. 7. 2.
[Java] BOJ 11559번 Puyo Puyo 11559번: Puyo Puyo 총 12개의 줄에 필드의 정보가 주어지며, 각 줄에는 6개의 문자가 있다. 이때 .은 빈공간이고 .이 아닌것은 각각의 색깔의 뿌요를 나타낸다. R은 빨강, G는 초록, B는 파랑, P는 보라, Y는 노랑이다. www.acmicpc.net 풀이 문제에서 주어진 조건대로 처리하여 해결했습니다. 코드의 주석을 참고해주세요. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Queue; p.. 2021. 7. 1.
[Java] BOJ 2636번 치즈 2636번: 치즈 아래 과 같이 정사각형 칸들로 이루어진 사각형 모양의 판이 있고, 그 위에 얇은 치즈(회색으로 표시된 부분)가 놓여 있다. 판의 가장자리(에서 네모 칸에 X친 부분)에는 치즈가 놓 www.acmicpc.net 풀이 먼저 치즈의 수를 구한 다음 문제의 조건에 따라 무조건 치즈 주변으로 공기가 있기 때문에 (0, 0)부터 공기에 대해 BFS를 수행해서 1인 부분 즉, 치즈인 부분이 나온다면 해당 부분은 공기 중에 노출된 부분이므로 녹이게 하는 과정을 치즈의 개수가 0이 될 때까지 반복해서 해결했습니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import jav.. 2021. 6. 30.