분류 전체보기(326)
-
ACM 호텔 [ Python ] [ 백준 : 10250 ]
풀이 및 회고 문제가 굉장히 길어서 혼란스러웠던 문제였다. 눈으로만 보면 문제 이해가 안되서 주석으로 간략하게 정리했었다. 결론은 왼쪽부터 채우는 문제라는 것을 알게되고 문제를 풀었다. 이중반복문을 통해서 처음 접근했는데 조건문을 많이 넣어야해 출력하는데 어려움이 있었다. 깔끔하게 포기하고 n이 1일때부터 경우의 수를 적으며 눈으로 확인했다. 규칙을 찾으려 노력했는데 몇가지 규칙이있었다. n 과 h 를 나누면 호수가 나오는 것, 그리고 n 과 h 를 나누었을때 나머지 값이 호텔의 층수가 나온다. 신나서 백준에 제출 해보지만 계속 "틀렸습니다"가 나왔다. 뭐가문제인지 찾아보던중 꼭데기 층을 계산했을 때 값이 이상해졌다. h 6 w 12 n 12 라고 치면 n % h = 0 이 되어 버린다. 호수도 문제가 ..
2023.05.23 -
알파벳 찾기 [ Python ] [ 백준 : 10809 ]
문제 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. 출력 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다. 풀이 및 회고 처음에 문제를 봤을때 잘 이해가 되지 않았다. 무슨말이지.. 싶었는데 한참보다보니 입력한 문자열에 ..
2023.05.23 -
달팽이는 올라가고 싶다 [ Python ] [ 백준 : 2869 ]
문제 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. 달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다. 달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) 출력 첫째 줄에 달팽이가 나무 막대를 모두 올라가는데 며칠이 걸리는지 출력한다. 풀이 및 회고 처음엔 문제를 쉽게봤었다. 반복문돌려서 쉽게풀면 되겠다는 생각. 하지만 반복문을 돌려서 풀면 결과는 나왔지만 백준에 제출했을때 시간초과 오류를 반환했다. 한참을 생각해도 반복문을 ..
2023.05.23 -
설탕 배달 [ Python ] [ 백준 : 2839 ]
문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다. 상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. (3 ≤ N ≤ 5000) 출력 상근이가 배달하는 봉지의 최소 개수를 출력한다. 만약, 정..
2023.05.23 -
구현 : 왕실의 나이트 [ 이것이 코딩테스트다 ] [ Python ]
코드 location = input() row = str(location[0]) column = int(location[1]) alpha = ["a", "b", "c", "d", "e", "f", "g", "h"] find_alpha = int(alpha.index(row)) + 1 # row 를 숫자로 변환 night = [find_alpha, column] # 나이트의 위치를 저장 array = [ [-1, -2], # "upleft" [1, -2], # "upright" [-2, -1], # "leftup" [-1, 1], # "leftdown" [-1, 2], # "downleft" [1, 2], # "downright" [2, -1], # "rightup" [2, 1] # "rightdown" ..
2023.05.18 -
구현 : 시각 [ 이것이 코딩테스트다 ] [ Python ]
코드 n = int(input()) count = 0; for i in range(n + 1): for j in range(60): for k in range(60): if '3' in str(i) + str(j) + str(k): count += 1 print(count) 회고 그냥 막연히 반복문돌림
2023.05.18