본문 바로가기

개발36

백준 17608번: 막대기 [JAVA] https://www.acmicpc.net/problem/17608 17608번: 막대기 아래 그림처럼 높이만 다르고 (같은 높이의 막대기가 있을 수 있음) 모양이 같은 막대기를 일렬로 세운 후, 왼쪽부터 차례로 번호를 붙인다. 각 막대기의 높이는 그림에서 보인 것처럼 순서대로 www.acmicpc.net 풀이 마지막 막대기부터 세야하기 때문에 스택을 사용한다. 오른쪽부터 보이는 막대기를 세는데, 보였던 막대기보다 큰 막대기가 나올 때마다 카운트를 증가시키고, 막대기의 최대값이 나오면 종료한다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack.. 2023. 3. 15.
백준 2164번: 카드2 [JAVA] https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 풀이 제일 위에 있는 카드를 버리거나, 맨 뒤로 넣기만 하면 되므로 큐를 사용하면 된다. N까지 숫자가 들어있는 큐를 만들고, 큐의 사이즈가 1이 될 때까지 버리기, 맨 뒤에 넣기를 반복한다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Ar.. 2023. 3. 15.
백준 1158번: 요세푸스 문제 [JAVA] https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 풀이 큐를 이용하는 문제이다. poll한 숫자를 다시 offer(add)해줌으로써 원순열을 구현할 수 있다. 큐가 빌 때까지 while문을 돌리고, K번째 숫자가 나올 때까지 poll한 숫자를 다시 add한다. K번째 숫자는 제거한다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayDeque; import java.util.Q.. 2023. 3. 15.
백준 2839번: 설탕 배달 [파이썬] https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 제출한 답 n = int(input()) total = 0 while n!=0: if n%5==0: total+=n//5 break elif n>=3 : n-=3 total+=1 else : total = -1 break print(total) 맞았습니다! 코드 풀이 n = int(input()) total = 0 설탕의 무게 n 입력 받고 최종 출력할 봉지의 개수 total 선언 while n!=0: if.. 2022. 5. 19.