본문 바로가기

전체 글714

[백준 22015] 金平糖 (Konpeito) [Python] 풀이 세 정수 A, B, C를 입력받아 세 수 중 가장 큰 수와 동일하게 만들기 위해 나머지 두 수에 얼만큼 더하면 되는지 출력하는 문제다. 두 정수에 대해 가장 큰 수와의 차이에 대한 합은, 가장 큰 수 * 3에서 세 정수를 뺀 값과 동일하다. 소스코드 소스코드 보기 출처 22015번: 金平糖 (Konpeito) JOI 高校の生徒である葵と凛は,教師の理恵先生と一緒に 3 人で金平糖を同じ数だけ食べることにした. いま,葵は A 粒,凛は B 粒,理恵先生は C 粒の金平糖を食べた.3 人が食べた金 www.acmicpc.net 2023. 7. 20.
[백준 21665] Миша и негатив [Python] 풀이 n * m 크기의 흑백 이미지에 대한 정보를 입력받아 반전시키는 문제다. 두 번째 이미지가 잘못 반전시킨 흑백이미지에 대한 정보인데, 올바르게 반전시킨 흑백이미지와 비교해 몇개의 부분이 다른지 출력해주자. 소스코드 소스코드 보기 출처 21665번: Миша и негатив Миша уже научился хорошо фотографировать и недавно увлекся программированием. Первая программа, которую он написал, позволяет формировать www.acmicpc.net 2023. 7. 19.
[백준 21638] SMS from MCHS [Python] 풀이 오늘의 기온과 풍속, 내일의 기온과 풍속을 비교해 날씨를 예측해 출력하는 문제다. 내일의 기온이 영하이고, 내일의 풍속이 10 이상 인 경우. 내일의 기온이 오늘의 기온보다 작은 경우 내일의 기온이 오늘의 기온보다 크거나 같고, 내일의 풍속이 오늘의 풍속보다 큰 경우 위의 세 경우에 대해 각각 알맞는 경고를 해주고, 만약 해당하는게 없다면 "No message"라고 출력해주자. 소스코드 소스코드 보기 출처 21638번: SMS from MCHS The first line of input contains two integers $t_1$ and $v_1$ --- the temperature and the wind speed for today ($-50 \le t_1 \le 50$; $0 \le v_1.. 2023. 7. 19.
[백준 14442] 벽 부수고 이동하기 2 [Java] 풀이 [백준 2206] 벽 부수고 이동하기 [Java] 풀이 (0, 0)에서 (N - 1, M - 1)까지 최대 벽을 1개 부수며 도착할 수 있는 최단거리를 구하면 되는 문제다. 하나의 2차원 배열에 최단거리를 기록하기에는 어느 순간 벽을 부술때와 부수지 않는 경우 kyr-db.tistory.com 위 문제의 확장 버전이다. 벽을 최대 K개 부수며 이동할 수 있다. 이전 로직에서 탐색 중 벽이 아닌 부분을 만났을 때 처리하는 부분을 0 또는 1이 아니라, 지금까지 부순 횟수(smash) + 1로 변경해 처리해주자. 그리고 마찬가지로, 벽을 0 ~ 10개 부순 경우에 대한 이동경로를 기록해야 하니 2개가 아닌, K+1개로 아래처럼 공간을 할당해 주자. 소스코드 소스코드 보기 출처 14442번: 벽 부수고 .. 2023. 7. 15.
[백준 27172] 수 나누기 게임 [Java] 풀이 N명의 플레이어가 가진 카드에 대해서 서로 다른 플레이어의 카드 간 배수가 존재하는지 판별하는 문제다. 문제에서 두 번 이상 등장하는 카드는 없다고 하니 해당 번호의 카드의 존재여부를 기록해두면 쉽게 풀이할 수 있다. N명의 player에 대해 카드 번호를 입력받고 i번째 플레이어가 가진 카드가 있다고 표시해주자. 그 다음에는 N명의 player가 가진 카드의 배수에 해당하는 카드가 있는지 확인해주면 된다. 만약 카드 숫자가 i 일 때 카드 숫자가 j 인 카드가 있다면, j % i == 0 즉 j는 i의 배수다. 만약 최대 숫자 1,000,000 (SIZE - 1) 에 대해 i 배수를 탐색했는데 만족하는 카드가 없다면, i 카드를 가진 player는 점수를 얻을 수 없다. 점수를 score 배열에 .. 2023. 7. 13.
[백준 14938] 서강그라운드 [Java] 풀이 n개의 정점에 대해 최단거리를 전부 구해준 후, 최단거리가 수색범위(m) 이하인 경우에 대해서 정점이 가지는 아이템의 합들의 최댓값을 구하면 된다. n개의 정점에 대해 최단거리를 구하기 위해 Floyd Warshall을 사용했다. n개의 정점에 대한 최단거리를 모두 구한 후, i번째 정점에서 출발해 수색범위 내로 이동할 수 있는 정점이 가지는 아이템의 합을 구하면 된다. n개의 정점에 대해 아이템 합의 최댓값을 출력해주면 된다. 소스코드 소스코드 보기 출처 14938번: 서강그라운드 예은이는 요즘 가장 인기가 있는 게임 서강그라운드를 즐기고 있다. 서강그라운드는 여러 지역중 하나의 지역에 낙하산을 타고 낙하하여, 그 지역에 떨어져 있는 아이템들을 이용해 서바이벌을 www.acmicpc.net 2023. 7. 12.