목록분류 전체보기 (135)
100세까지 코딩

문제 나의 생각 try-except를 써서 파일의 끝을 판단하는 연습 문제이다. 나의 풀이 (EOFError 처리) while True: try: A, B = map(int, input().split()) print(A + B) except EOFError: break - input()함수는 EOF를 만나면 EOFError를 발생시킨다. 나의 풀이2 (except로 모든 예외 처리) while True: try: A, B = map(int, input().split()) print(A + B) except : break - except만 사용하면 모든 에러에 대한 처리를 해준다. 나의 풀이3 (sys.stdin.readline()으로 ValueError 처리) import sys while True: t..

15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net 문제 나의 생각 문제에서도 말했듯이 입출력 방식이 느리면 여러 줄을 입력받을때 시간초과가 날 수 있다. 파이썬 사용자는 sys.stdin.readline()을 사용하자. 나의 풀이 import sys T = int(input()) for _ in range(T): a,b = map(int,sys.stdin.readline().split()) print(a+b) 참고 1. input과 sys.stdin.readline의 차이점 input() sys.stdin.readline() 1...

25314번: 코딩은 체육과목 입니다 오늘은 혜아의 면접 날이다. 면접 준비를 열심히 해서 앞선 질문들을 잘 대답한 혜아는 이제 마지막으로 칠판에 직접 코딩하는 문제를 받았다. 혜아가 받은 문제는 두 수를 더하는 문제였다. C++ www.acmicpc.net 문제 나의 생각 문제는 길지만 간단한 브론즈5 문제이다. 주목할 것은 어떻게 더 간단하게 숏코딩을 할 수 있는지다. 나의 풀이 N = int(input()) while N > 4: N = N - 4 print('long', end=" ") print('long int') 나의 풀이2 (숏코딩) N = int(input()) print('long '*(N//4)+'int') 참고 문자열의 곱셈 표현은 파이썬에서만 가능한 재밌는 기능!

문제 나의 생각 간단한 반복문 문제이다. 여기서 주목할 점은 print()의 기능들이다. 나의 풀이 (f 포맷팅) N = int(input()) for i in range(1,10): print(f"{N} * {i} = {N*i}") 나의 풀이 2 (% 스타일 포맷팅) N = int(input()) for i in range(1, 10): print("%d * %d = %d" % (N, i, N * i)) 나의 풀이3 ({} 스타일 포맷팅) N = int(input()) for i in range(1, 10): print("{0} * {1} = {2}".format(N, i, N * i)) 참고 1. f 포맷팅은 print(f) 로 시작하여 {}에 변수를 넣으면 된다. (가장 가독성 높고 직관적) 2. ..

문제 나의 생각 입력값을 list로 받는다. 같은 눈이 3개인 경우, 2개인 경우, 모두 다른 경우 분기점으로 나눈다. 모두 다른 경우 가장 큰 눈을 구하는 것은 list를 정렬해서 첫 번째 값을 뽑는다. 나의 풀이 (정렬) list_A = list(map(int,input().split())) list_A.sort(reverse=True) if list_A[0]==list_A[1]==list_A[2]: result = 10000 + list_A[0] * 1000 elif list_A[0]==list_A[1] or list_A[0]==list_A[2]: result = 1000+list_A[0]*100 elif list_A[1]==list_A[2]: result = 1000+list_A[1]*100 el..

문제 나의 생각 M+T >= 60 일때를 분기점으로 한다. M분과 T분의 합이 60 이상이면 기존 시간 H에 (M+T)를 60으로 나눈 몫을 더해주어야 한다. 기존 분 M은 (M+T)에서 더해준 시간만큼 60을 곱하여 빼준다. 시간이 23을 초과하면 다음날 시간인 0시에서 시작한다. 나의 풀이 H, M = map(int, input().split()) T = int(input()) if M + T >= 60: H = H + (M + T) // 60 M = M + T - (M + T) // 60 * 60 if H > 23: print(H - 24, M) else: print(H, M) else: print(H, M + T)