😁 빅데이터 문제 풀기 & Study/- BAEKJOON 문제

[1284] 집 주소 / 파이썬 (feat. 사용자 정의 함수 만들기)

또방91 2022. 3. 12. 16:39
728x90

 

 

 

 

✏️ 문제 링크

https://www.acmicpc.net/problem/1284

 

1284번: 집 주소

재석이는 대문에 붙이는 (주소를 나타내는) 호수판 제작업체의 직원이다. 고객에게 전달할 호수판은 숫자와 숫자 사이 그리고 왼쪽 오른쪽으로 적당히 여백이 들어가 줘야하고 숫자마다 차지하

www.acmicpc.net


정답은 ??

 

# 각 숫자 사이에는 1cm의 여백이 들어가야한다.
# 1은 2cm의  / 0은 4cm의 / 나머지 숫자는 모두 3cm의 너비를 차지
# 호수판의 경계와 숫자 사이에는 1cm의 여백이 들어가야한다.

while True : 
    ad = str(input())
    if ad == '0': break
    else: 
        # 조건 설정해주기
        def cal(x):
            if x == "0": return 4
            elif x == "1": return 2
            else: return 3

        #숫자 계산하기    
        tmp=0
        for i in ad:
            tmp += cal(i)
        #숫자 + 양쪽 + 숫자간격
        result = tmp + 2 + ( len(ad) - 1 )

        print(result)

💯 풀이 과정

1. 0이면 반복이 끝나고, 이외는 반복해야하니 while반복문 사용

2. 입력받은 숫자 하나씩하나씩 계산하려면 문자열로 변환해서 ad 변수로 받기

3. 사용자정의 함수 cal(x)을 만들어서 숫자 별 계산하게 한다.

4. 이제 입력받은 숫자에 대해서, for 반복문으로 하나씩 받고 +=로 더해준다

5. 마지막 result에 양쪽 1cm 2번, 숫자간격(len(숫자자리) -1 )을 더해주면 답 도출! 


😎 오늘의 한줄평

오랜만에 파이썬 코드식을 써봤는데, 아직 죽지 않았따!

사용자 정의함수 말고도 람다식으로 써볼까나

 

 

 

728x90