Koala - 14기/코딩테스트 준비 스터디

[백준/python] 호텔 방 번호

sebinChu 2024. 3. 17. 21:00

알고리즘

범위에 해당하는 숫자들이 자릿수마다의 중복되는지 체크하면 된다. 같은 값이 있는지 확인하는 방법으로는 딕셔너리를 떠올렸고 아래와 같이 중복 체크를 해주었다.

 for item in hotel:
            d={'0':0, '1':0, '2':0, '3':0, '4':0, '5':0, '6':0, '7':0, '8':0, '9':0}
            flag=True
            for s in str(item):
                if s in d.keys():
                    d[s] += 1
            
            for v in d.values():
                if v >= 2 :
                    flag=False
            
            if flag:
                ans.append(item)

 

전체 코드

while True:
    try:
        n,m=input().split()
        hotel=list(range(int(n),int(m)+1))
        ans=[]
       
        for item in hotel:
            d={'0':0, '1':0, '2':0, '3':0, '4':0, '5':0, '6':0, '7':0, '8':0, '9':0}
            flag=True
            for s in str(item):
                if s in d.keys():
                    d[s] += 1
            
            for v in d.values():
                if v >= 2 :
                    flag=False
            
            if flag:
                ans.append(item)
        
        print(len(ans))
                
    except EOFError:
        break