본문 바로가기
● 알고리즘, 자료구조/2021 알고리즘

[코드업 파이썬] 1164, ,1167, 1168, 1169, 1171, 1172, 1173, 1180

by 0ver-grow 2021. 2. 16.
반응형

코드업 1164

어떤 차의 높이가 170cm 이다.

이 차는 3개의 터널을 차례대로 지나게 될 것이다.

터널의 높이가 차의 높이보다 같거나 낮다면 차는 터널과 충돌하여 사고가 날 것이다.

터널의 높이가 차례대로 3개 주어지면 터널을 무사히 잘 통과하면 PASS 를 출력하고, 사고가 난다면 CRASH 를 출력하시오.

# 3개 정수 입력
# 170보다 같거나 작으면 "CRASH"를 출력, 그 보다 크면 "PASS"를 출력하시오.

'''
a,b,c = map(int,intput().split())

if a <= 170 or b <= 170 or c <= 170 :
    print("CRASH")
elif a > 170 and b > 170 and c > 170 :
    print("PASS")
'''

height_1, height_2, height_3 = input().split()
height_1 = int(height_1)
height_2 = int(height_2)
height_3 = int(height_3)

if(height_1 <= 170):
    print('CRASH')
elif(height_2 <= 170):
    print('CRASH')
elif(height_3 <= 170):
    print('CRASH')
else:
    print('PASS')

코드업 1167 : 두 번째로 작은 수

세 개의 숫자가 주어질 때 두번째로 작은 수를출력해보자.

예를 들어, 5 9 2 가 있다면 두번째로 작은 수는 5이다.

num = list(map(int,input().split()))
num.sort() # 정렬시킨 상태로 num에 자동 저장
a = num[1]
print(int(a))

1168 : 나이 계산 1

주민등록번호는 생년월일과 성별정보, 지역정보로 이루어진다.

여기서 생년월일과 성별정보만 입력으로 받겠다.

성별 정보는 1이면 1900년대 출생 남자, 2이면 1900년대 출생 여자, 3이면 2000년대 출생 남자, 4이면 2000년대 출생 여자를 말한다.

기준년도는 2012년도이다. 현재 나이를 출력하시오. 

예)

790101 1        =====> 성별정보가 1이므로, 1979년생, 34살이다.

080521 4        =====>  성별정보가 4이므로, 2008년생,  5살이다.

birth_d, gender = input().split()

# birth에 적힌 6자리 숫자는 하나로 인식된다. 
# 고로 다음처럼 진행할 것. str 형태로 2자리만 호출한 뒤 int형태로 변환

if int(gender) in (1,2) : 
    print(100 - (int(str(birth_d)[:2])) + 13)
else :
    print(12 - int(str(birth_d)[:2]) + 1)

1169 : 나이 계산 2

나이가 주어지면 몇 년도에 태어났는지를 출력하시오. (나이는 2012년도 기준입니다.)

단, 출력할 때 년도 4자리 중 뒤의 두자리만 출력하고, 한 칸 띄운 후 1900년도 출생이면 1을 출력, 2000년대 출생이면 3을 출력하시오.

예) 18살이면 1995년생이므로 95 1을 출력한다.

age = int(input())
if age >= 14 :
    print(int(str(2012+1-age)[2:]), 1)     
else :
    print(int(str(2012+1-age)[2:]), 3)

 

코드업 1171

학번을 입력 받아 다음 형식으로 출력하시오.

학번은 학년, 반, 번호로 입력된다.

이번에는 학년은 한자리, 반은 두자리, 번호는 세자리로 출력한다.

예)

2 1 20  ===> 201020  으로 출력

2 2 7 ==> 202007 으로 출력

2 3 100 ==>  203100 으로 출력

2 10 111 ==> 210111 로 출력

grade, class, number = map(int, input().split())

# class는 2자리
# number는 3자리
print('%d%02d%03d' %(grade, class, number))

코드업 1172

세 수를 오름차순으로 정렬하려고 한다. (낮은 숫자 -> 높은 숫자)

예)

5 8 2   ====> 2 5 8    로 출력

'''
a,b,c = map(int,input().split())
raw_data = [a,b,c]
data = raw_data.sort()

for i in data :
    print(i, end = ' ')
'''
    
data = list(map(int, input().split()))
data.sort()
for i in data : 
    print(i, end = ' ')

 

코드업 1173 : 30분전

수호는 30분 전으로 돌아가고 싶은 1人 이다.

공백을 기준으로 시간과 분이 주어진다.

그러면 이 시간을 기준으로 30분전의 시간을 출력하시오.

예)

12 35  =====> 12 5

12 0 ======> 11 30

11 5 ======> 10 35

'''
# fail
h,m = map(int,input().split())

if m >= 30 :
    m = m - 30
    print(str(h),str(m),sep=' ')
elif m < 30 :
    if h > 1 : 
        h = h - 1
        m = m + 60 - 30
        print(str(h),str(m),sep=' ')
    elif h == 0 :
        h = 24 - 1
        m = m + 60 - 30
        print(str(h),str(m),sep=' ')
'''

h, m = map(int, input().split())
if m >= 30 : 
    print(h, m - 30)
else:
    if h != 0 : 
        print(h - 1, 60 - abs(m - 30)) # 절대값 내장함수 abs()
    else: 
        print(23, 60 - abs(m - 30))

1180 : 만능 휴지통

수치 n이 입력된다. ( 1 <= n <= 99 )

10의 자릿수와 1의 자릿수를 서로 바꾸고, 거기에 2를 곱한다.

100이 넘는다면 100의 자릿수는 무시.

n = input()
if int(n) < 10 :
	n = '0' + n # 2자릿수로 만듦
f, s = n[0], n[1]
result = (2 * int(s+f)) % 100 # -100이 아닌 %100을 하면 100이상, 이하일때 다 쓸 수 있다.

# 3항연산자 활용 : A if ㅁ else B 즉, ㅁ가 맞으면 A가 출력, 아니면 B가 출력
print(result, 'GOOD', sep='\n') if result <= 50 else print(result, 'OH MY GOD', sep='\n')
'''
# fail
num = input() # 2자릿수 입력

num1 = num[:1]
# num1 = num[0]
num2 = num[1:]
# num2 = num[1]
new = int(num2+num1) # 1의 자릿수와 10의 자릿수 바꾸기

if 1 <= new <= 99 :
    result = new * 2
else : 
    result = (new-100) * 2

if result <= 50 :
    print(result,"GOOD",sep="\n")
else : 
    print(result,"OH MY GOD",sep="\n")
# 왜 항상 42가 안나오고 142가 나오지? 100을 초과하면 -100을 해야하는데?
'''

num = input()

num1 = num[:1]
num2 = num[1:]
new = int(num2+num1)

# 2를 여기서 곱해야 하겠죠
# 2를 곱하기 전에는 100 을 넘을 일이 없으니까요
result = new * 2
# 그리고 100 이 넘으면
if result >= 100 :
    # 100 자리는 없앱니다
    result = result - 100

if result <= 50 :
    print(result,"GOOD",sep="\n")
else : 
    print(result,"OH MY GOD",sep="\n")
 

[Code Up] 코드업 1101–1180 파이썬 정답

필요한 문제 번호를 ‘Ctrl+F(Window)’ 또는 ‘Command+F(MacOS)’로 검색하세요.(검색 키워드는 ‘#+문제번호’ 예시: #1)

dydrlaks.medium.com

 

반응형