목록Algorithm (24)
DANIELOGIC
[Python] 백준 2444번 별 찍기 - 7https://www.acmicpc.net/problem/2444문제코드t = int(input())for i in range(1,t): print(" "*(t-i)+"*"*(2*i-1))for i in range(t,0,-1): print(" "*(t-i)+"*"*(2*i-1))리뷰각 줄의 뒷부분이 공백이 아님에 주의하자.
[Python] 백준 1408번 24https://www.acmicpc.net/problem/1408문제코드h1, m1, s1 = map(int,input().split(":"))h2, m2, s2 = map(int,input().split(":"))sum1 = h1*3600 + m1*60 + s1sum2 = h2*3600 + m2*60 + s2sum3 = sum2 - sum1if sum3 리뷰모든 시간을 초 단위로 변환한 다음에 뺀다.그럼 두 시간 사이의 간격이 구해진다. 만약 음수인 경우 하루 만큼을 더해서 양수로 만든다.그렇게 초 단위의 시간을 다시 시, 분, 초 단위로 변환하면 된다.
[Python] 백준 5635번 생일https://www.acmicpc.net/problem/5635문제코드t = int(input())nl = []dl = []for i in range(t): name, d, m, y = input().split() nl.append(name) dl.append(int(d)/100 + int(m) + int(y)*100)print(nl[dl.index(max(dl))])print(nl[dl.index(min(dl))])리뷰다들 2차원 배열로 입력 받아서 정렬한 다음에 문제 푸시던데그렇게 안하고 간단한 발상을 적용시켜도 쉽게 풀립니다.이름이랑 날짜 리스트를 생성해주고날짜를 하나의 실수 형태로 변환시켜준 뒤에 비교하면 됩니다.그렇게 해서 최댓값과 최솟값의 ..
[Python] 백준 1977번 완전제곱수https://www.acmicpc.net/problem/1977문제코드m = int(input())n = int(input())i = 1l = []while True: if i*i >= m and i*i n: break i += 1if len(l) == 0: print(-1)else: print(sum(l)) print(min(l))리뷰for문 사용해서 푸는게 비효율적이라고 느꼈다.그냥 무한루프 돌린 다음에 i*i이 n을 넘어가는 순간 바로 탈출 시키면훨씬 효율적으로 작동할 것 같다.다른 풀이m = int(input())n = int(input())x = 1l = []while x**2 = m: l.appen..
[Python] 백준 11557번 Yangjojang of The Yearhttps://www.acmicpc.net/problem/11557문제코드t1 = int(input())for i in range(t1): t2 = int(input()) name = [] num = [] for x in range(t2): a, b = input().split() name.append(a) num.append(int(b)) print(name[num.index(max(num))])
[Python] 백준 7567번 그릇https://www.acmicpc.net/problem/7567문제코드a = input()s = len(a)sum = 10for i in range(s-1): if a[i] == a[i+1]: sum += 5 else: sum += 10print(sum)다른 풀이a = input()num = 0b = 0for i in a: if i == b: num += 5 else: num += 10 b = iprint(num)
[Python] 백준 2884번 알람 시계https://www.acmicpc.net/problem/2884문제코드a, b = map(int, input().split())m = 60*a + b - 45if m 리뷰그냥 시간을 전체 분 단위로 바꾼 다음에 45를 뺀다.그렇게 해서 60을 나누면 그 몫이 시간, 나머지가 분이 된다.0시 30분처럼 45를 뺐을 때 음수가 나오는 경우(a = 0, b m이 음수일 때 23시 60+m 이런 식으로 아예 형식을 지정해서 출력해줬다.다른 풀이a, b = map(int, input().split())m = 60*a + b - 45if m 60 * 24 = 1440
[Python] 백준 2754번 학점계산www.acmicpc.net/problem/2754 문제 어떤 사람의 C언어 성적이 주어졌을 때, 평점은 몇 점인지 출력하는 프로그램을 작성하시오.A+: 4.3, A0: 4.0, A-: 3.7B+: 3.3, B0: 3.0, B-: 2.7C+: 2.3, C0: 2.0, C-: 1.7D+: 1.3, D0: 1.0, D-: 0.7F: 0.0코드a = input()if a[0] == "A": b = 4.0elif a[0] == "B": b = 3.0elif a[0] == "C": b = 2.0elif a[0] == "D": b = 1.0else: b = 0.0 a += "0"if a[1] == "+": b += 0.3elif a[1] ..