풀이

알고리즘(algo)/백준

[백준] 10250번 - ACM 호텔

참고: https://www.acmicpc.net/problem/10250 ✔️ 문제 문제는 다음과 같다. ✔️ 풀이 T개의 테스트 케이스에서 12x6 크기 만큼의 호텔이 있을 때, 10번째로 도착한 손님은 402호를 배정받는다. 이는 101,201,301...102,202,302,402 이렇게 1층부터 6층까지 1호를 6번을 돌고, 1층부터 4층까지 2호를 4번 돌아서 배정받는 것이다. 이에 대해서 여러가지 코드를 작성해보았다. import sys T=int(input()) for _ in range(T): h,w,n=map(int, sys.stdin.readline().split()) hotel=[[(i+1)*100+(j+1) for j in range(w)] for i in range(h)] whi..

알고리즘(algo)/백준

[백준] 2292번 - 벌집

참고: https://www.acmicpc.net/problem/2292 ✔️ 문제 문제는 다음과 같다. ✔️ 풀이 N은 1부터 10억개 사이에서 값이 주어지는데, 그림으로 이해해보면 다음과 같다. 1에서 출발하여 13까지 도달할 수 있는 최소 개수는 3이고, 1에서 출발하여 58까지 도달할 수 있는 최소 개수는 5이다. 일직선 상에 놓여져있는 것은 그대로 일직선의 개수를, 일직선 상에 없는 것은 일직선의 개수+1만큼을 출력하게 된다. 우선 메모장에 적어가면서 규칙을 찾아보았는데, 지나는 방의 개수가 1씩 증가할 때마다 범위의 처음은 2부터 출발하여 이전 수에 (n-1)*6 만큼을 더해주고 범위의 끝은 다음 첫 수에 n*6 만큼을 더해주는 것이었다. 그리고 나서 해당 범위에 일치하는 n값에 1을 더한 만..

알고리즘(algo)/백준

[백준] 1712번 - 손익분기점

참고: https://www.acmicpc.net/problem/1712 ✔️ 문제 문제는 다음과 같다. ✔️ 풀이 예제를 보고 다음과 같이 이해할 수 있다. 고정비용 1000만원에 가변비용 70만원이 있고, 해당 두 비용을 통해 생산된 노트북이 판매 단가로 170만원일때 1000+(70x노트북수) < 170x노트북수 공식에서 판매 단가가 생산 단가를 넘어서는 지점을 손익분기점이라고 한다. 예를 들어 예제 1을 보게 되어 노트북 10개를 생산하는 지점이 1000+(70x10) == 170x10 이라는 값이 나오게 되는데, 그 다음 1770 < 1840 가격 즉, 판매 단가가 생산 단가를 넘어서는 노트북 11개를 생산하는 지점이 손익분기점이고 해당 11이라는 숫자를 출력하면 되는 것이다. 예제 2를 보게 ..

알고리즘(algo)/백준

[백준] 2563번 - 색종이

참고: https://www.acmicpc.net/problem/2563 ✔️ 문제 문제는 다음과 같다. ✔️ 풀이 첫째 줄에 붙힐 색종이 수를 입력받고, 색종이의 수만큼 처음 입력 받는 수는 색종이의 왼쪽 변과 도화지의 왼쪽 변 사이의 거리를, 다음 입력 받는 수는 아래쪽 변과 도화지 아래쪽 변 사이의 거리를 나타낸다고 한다 이렇게 글로 보면 이해하기가 좀 어려워서 그림을 보면서 이해해보았다. 입력받는 첫 번째 수는 색종이의 가장 왼쪽 직선이 도화지 왼쪽 변과의 거리가 3, 5, 15에 해당한다는 소리이다. 즉, x축의 거리가 3, 5, 15에 해당하며 색종이는 10x10에 해당하는 정사각형이므로 각 거리에 10을 더한 13, 15, 25가 x축에 적혀있다. 두 번째 수는 아래쪽 변 사이의 거리이므로 ..

알고리즘(algo)/백준

[백준] 25304번 - 영수증

참고: https://www.acmicpc.net/problem/25304 ✔️ 문제 문제는 다음과 같다. ✔️ 풀이 주어지는 입력의 총 합에 물건가격 x 물건갯수가 산 모든 물건의 합과 같으면 Yes, 아니면 No를 출력하면 된다. import sys X=int(input()) N=int(input()) count=0 for _ in range(N): a,b=map(int,sys.stdin.readline().rstrip().split()) count+=a*b print("Yes" if count==X else "No") 영수증에 찍힌 총 합은 X로, 산 물건은 N번 만큼 for문을 돌면서 물건 가격과 갯수에 맞는 돈을 count에 계속해서 더해준뒤 출력하면 된다. 화이팅 💪

알고리즘(algo)/백준

[백준] 2884번 - 알람 시계

참고: https://www.acmicpc.net/problem/2884 ✔️ 문제 문제는 다음과 같다. ✔️ 풀이 예제는 다음과 같은데, 처음 생각했던 방법은 시간에서 1을 뺀 공통점과 45에서 분을 뺀것에 60을 빼는 방법을 생각했다. import sys h,m=map(int,sys.stdin.readline().rstrip().split()) if h==0: if m 45: print(0, 60-m) elif m 45: print(h, 60-m) 하지만 해당 코드는 몇 가지 테스트 케이스에서 틀리게 나와서 틀렸습니다!! 라는 약올림에 당하게 된다. import sys h,m=map(int,sys.stdin.readline().rstrip().split()) if h==0: if m < 45: pri..

dDong2
'풀이' 태그의 글 목록 (13 Page)