상세 컨텐츠

본문 제목

[프로그래머스] Lv.0 "0 떼기"

파이썬 코딩테스트

by Corn/sec 2024. 12. 31. 14:44

본문

문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/181847

 

문제 설명:

정수로 이루어진 문자열 n_str이 주어질 때, 
n_str의 가장 왼쪽에 처음으로 등장하는 0들을 뗀 문자열을 return하도록 solution 함수를 완성해주세요.

 

제한 사항: 

2 ≤ n_str ≤ 10
n_str이 "0"으로만 이루어진 경우는 없습니다.

 

ans 1.

def solution(n_str):
    return n_str.lstrip('0')

- lstrip: 문자열의 왼쪽에 있는 '0'을 모두 제거

 


ans 2.

def solution(n_str):
    return str(int(n_str))

- 문자열을 정수(int)로 변환하여 앞의 '0'을 자동으로 제거

- 이후 다시 str(string) 타입으로 변환하여 반환

* 입력 문자열이 비어 있거나, 숫자가 아닌 값이 포함되면 오류가 발생할 수 있음 -> 제한사항으로 인해 상관은 없음

* 입력이 '0000'인 경우 '0'으로 반환되므로, 빈 문자열이 필요한 경우에는 추가 처리가 필요 -> 제한사항으로 인해 상관은 없음

 


ans 3.

def solution(n_str):
    for i in range(len(n_str)):
        if n_str[i] != "0":
            return n_str[i:]

- 첫 번째 '0'이 아닌 문자를 찾으면 해당 인덱스부터 남은 문자열을 반환

* '0'이 아닌 문자를 찾으면 즉시 반환하므로 명확함

관련글 더보기