-
[BAEK JOON] 2712. 미국 스타일공부/알고리즘 2024. 4. 3. 00:10
문제링크
2712번: 미국 스타일
첫째 줄에 테스트 케이스의 개수 T(1<=T<=1,000)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 숫자는 값이고, 두 번째 등장하는 문자는 단위이다. 값은 소수일 수도 있고, 이 경
www.acmicpc.net
답안 1
n = int(input()) data = [input() for i in range(n)] for j in range(n): #단위변환 if( data[j].find('kg') != -1 ) : kg_data = data[j].split('kg')[0] print(str(format( float(kg_data) * (2.2046) , ".4f")) + ' lb') elif (data[j].find('lb') != -1): lb_data = data[j].split('lb')[0] print(str(format(float(lb_data) * (0.4536) , ".4f")) + ' kg') elif( data[j].find('l') != -1 ) : l_data = data[j].split('l')[0] print(str(format(float(l_data) * (0.2642), ".4f")) + ' g') elif( data[j].find('g') != -1 ) : g_data = data[j].split('g')[0] print(str(format(float(g_data) * (3.7854), ".4f")) + ' l')
답안 2
#오브젝트 형식으로 이용 data = {'lb' : ['kg',0.4536] , 'kg' : ['lb', 2.2046], 'l' : ['g', 0.2642] , 'g' : ['l',3.7854]} n = int(input()) output = [] for i in range(n): num_data, st = input().split() output.append(str(format(float(num_data) * (data[st][1]) , ".4f")) + ' ' + data[st][0]) for j in range(n): print(output[j])
답안2 는 Python에서 데이터를 object 형식으로 데이터를 사용하는 것을 보고 적용시켜보았다.
'공부 > 알고리즘' 카테고리의 다른 글
[BAEK JOON] 5598. 카이사르 암호 (0) 2024.04.04 [BAEK JOON] 2083. 럭비클럽 (1) 2024.04.03 [BAEK JOON] 4435. 중간계 전쟁 (0) 2024.04.02 [BAEK JOON] 2754. 학점 계산 (0) 2024.03.31 [BAEK JOON] 2953. 나는 요리사다. (0) 2024.03.31