크게 어려운 문제는 아닌 구현 문제이지만 이렇게 정리해서 올리는 이유는 반성을 위해서이다.
우선 내가 짠 코드는 다음과 같다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
import sys
num = list(map(int, sys.stdin.readline().split()))
count = len(num)
total = 0
for i in num:
total = total + i
if total >= 100:
print("OK")
else:
if min(num) == num[0]:
print("Soongsil")
elif min(num) == num[1]:
print("Korea")
else:
print("Hanyang")
|
cs |
스스로 푼 것에 대해서 나름 뿌듯해하고 있었다. sys를 사용하기도 했고, 계속 햇갈리던 여러 값을 입력받기도 제대로 스스로 해내었기 때문이다.
그런데 알고보니 훨씬 코드를 짧게 쉽게 짤 수 있는 방법 있음을 알게 되었다.
그리고 그 코드는 다음과 같다.
1
2
3
4
5
6
7
8
9
10
|
a, b, c = map(int, input().split())
if a + b + c >= 100:
print('OK')
else:
if a<b and a<c:
print('Soongsil')
elif b<a and b<c:
print('Korea')
else:
print('Hanyang')
|
cs |
어느 것이 사실 더 간단한지는 모르겠지만, 내 눈에는 아래 것이 훨씬 간단해보였다.
만약 코딩테스트였다면 왠지 모르게 아래 것이 훨씬 빠르게 짤 것 같기는 하다.
아무튼 둘 다 잘 돌아가는 코드이고, 어느게 맞다 틀리다는 없긴 할테니 두 가지의 방법을 모두 알아두면 좋을 것 같긴 하다.
출처: https://www.acmicpc.net/problem/17388
'코딩 문제풀이 및 연습 > Python 연습' 카테고리의 다른 글
[백준]17009_Winning Score.py 파이썬 (두 가지 방법으로 풀기) (0) | 2021.07.17 |
---|---|
[백준]16170_오늘의 날짜는 파이썬 (datetime, timedelta, year, month, day) (0) | 2021.07.17 |
[백준]2920_음계 파이썬 파이썬 (정렬과 copy활용) (0) | 2021.07.16 |
sys.stdin.readline()을 사용해야하는 이유 ... [백준]15372_A Simple Problem (0) | 2021.07.16 |
[백준] 20673_Covid-19 파이썬 (0) | 2021.07.16 |