본문 바로가기

알고리즘/백준 - 파이썬71

백준) 1550번 16진수 문제 (파이썬) 문제) 16진수 수를 입력받아서 10진수로 출력하는 프로그램을 작성하시오. print(int(input(), 16)) # 내장함수 이번 문제는 나누는 것과 나머지를 이용해서 코딩을 해보려고 했는데 생각보다 너무 어려웠다. 그래서 인터넷을 찾아보다가 내장함수를 이용하면 10진수로 변환이 된다는 것을 알게 되었다. 너무 신기하였다... 이해가 안되시거나 틀린 정보는 댓글로 알려주시면 감사하겠습니다! 2022. 6. 21.
백준) 2752번 세수정렬 (파이썬) 문제) 동규는 세수를 하다가 정렬이 하고싶어졌다. 숫자 세 개를 생각한 뒤에, 이를 오름차순으로 정렬하고 싶어 졌다. 숫자 세 개가 주어졌을 때, 가장 작은 수, 그 다음 수, 가장 큰 수를 출력하는 프로그램을 작성하시오. a = list(map(int,input().split())) # map int를 안쓰면 str으로 정렬하게 되어 틀린다! a.sort() print(a[0], a[1], a[2]) 이번 문제는 세 수를 정렬하는 문자로 sort 함수로 정렬하였다. sort 문제에 대한 설명과 sort 문제의 한 단계 심화문제는 밑에 링크에 들어가면 볼 수 있다. 백준) 10817번 세 수 문제 (파이썬) 문제) 세 정수 A, B, C가 주어진다. 이때, 두 번째로 큰 정수를 출력하는 프로그램을 작성하.. 2022. 6. 16.
백준) 5355번 화성 수학 문제 (파이썬) 문제) 겨울 방학에 달에 다녀온 상근이는 여름 방학 때는 화성에 갔다 올 예정이다. 화성에서는 지구와는 조금 다른 연산자 @, %, #을 사용한다. @는 3을 곱하고, %는 5를 더하며, #는 7을 빼는 연산자이다. 따라서, 화성에서는 수학 식의 가장 앞에 수가 하나 있고, 그 다음에는 연산자가 있다. t = int(input()) for a in range(t): X = list(input().split()) Y = float(X[0]) for i in range(1, len(X)): if X[i] == '@': Y = Y * 3 elif X[i] == '%': Y = Y + 5 elif X[i] == '#': Y = Y - 7 print('%0.2f'%Y) 처음에 t를 입력 변수로 선언하고, for .. 2022. 6. 15.
백준) 2775번 부녀회장이 될테야! (파이썬) 문제) 평소 반상회에 참석하는 것을 좋아하는 주희는 이번 기회에 부녀회장이 되고 싶어 각 층의 사람들을 불러 모아 반상회를 주최하려고 한다. 이 아파트에 거주를 하려면 조건이 있는데, “a층의 b호에 살려면 자신의 아래(a-1)층의 1호부터 b호까지 사람들의 수의 합만큼 사람들을 데려와 살아야 한다” 는 계약 조항을 꼭 지키고 들어와야 한다. 아파트에 비어있는 집은 없고 모든 거주민들이 이 계약 조건을 지키고 왔다고 가정했을 때, 주어지는 양의 정수 k와 n에 대해 k층에 n호에는 몇 명이 살고 있는지 출력하라. 단, 아파트에는 0층부터 있고 각층에는 1호부터 있으며, 0층의 i호에는 i명이 산다. T = int(input()) for i in range(T): k = int(input()) n = in.. 2022. 6. 15.
백준) 11653번 소인수분해 문제 (파이썬) 문제) 정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오. 이번 문제는 2가지 방법을 통해 풀었다. 처음에 for문을 이용하여 풀고 싶었는데 , while 문이 좀 더 간단하고, 이해하기 쉬웠다. while 문에서 보면 처음 입력값 a를 넣고, a가 1이 아니면 i를 증감시키도록 그 후 if문을 통해 a % i 가 0이면 a // i를 반복하도록 하였다. 이 후 print(i)를 출력하고, i 를 초기화를 하면 다음과 같이 나온다. 1) while 문을 이용한 문제 풀이 a = int(input()) i = 1 while a != 1: # 1로만 나누어질때까지 반복 i += 1 # 나누어 떨어질때까지 i에 1 추가 if a % i == 0: # 나누어 떨어지는경우 a = a // i # 나누기.. 2022. 6. 15.
백준) 10250번 ACM 호텔 문제 (파이썬) 문제) 방 번호는 YXX 나 YYXX 형태인데 여기서 Y 나 YY 는 층 수를 나타내고 XX 는 엘리베이터에서부터 세었을 때의 번호를 나타낸다. 즉, 그림 1 에서 빗금으로 표시한 방은 305 호가 된다. 손님은 엘리베이터를 타고 이동하는 거리는 신경 쓰지 않는다. 다만 걷는 거리가 같을 때에는 아래층의 방을 더 선호한다. 예를 들면 102 호 방보다는 301 호 방을 더 선호하는데, 102 호는 거리 2 만큼 걸어야 하지만 301 호는 거리 1 만큼만 걸으면 되기 때문이다. 같은 이유로 102 호보다 2101 호를 더 선호한다. 여러분이 작성할 프로그램은 초기에 모든 방이 비어있다고 가정하에 이 정책에 따라 N 번째로 도착한 손님에게 배정될 방 번호를 계산하는 프로그램이다. 첫 번째 손님은 101 호,.. 2022. 6. 13.
728x90