반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1. [백준 알고리즘] 백준 1681번 줄 세우기 파이썬(Python)

1) 문제번호 : 1681번

 

2) 문제 출처

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

 

1681번: 줄 세우기

민승이는 가장 작은 10개의 수 2, 3, 4, 5, 6, 7, 8, 9, 20, 22를 사용하여 라벨을 붙일 수 있다.

www.acmicpc.net

 

2. 문제

민승이는 N(1 ≤ N ≤ 1,000,000)명의 학생들에게 양의 정수로 된 라벨을 붙이려고 한다. 하지만 모든 학생들은 숫자 L(0 ≤ L ≤ 9)이 자신의 라벨 숫자에 포함되길 원치 않는다. 

문제는 학생들에게 숫자 L을 쓰지 않고 최소한 작은 N개의 양의 수 세트를 라벨링 할 때 학생들이 받는 라벨 중 가장 큰 수가 몇인지를 구하는 것이다.

 

3. 제약사항

 

4. 입력

첫째 줄에 N과 L이 공백으로 구분되어 주어진다.

 

5. 출력

첫째 줄에 민승이가 학생들에게 붙이는 라벨 중 가장 큰 수를 출력한다.

 

6. 풀이

- L을 입력 받고, String형으로 저장을 한다. 그래서, 줄을 세울 때 숫자에 String형 변수가 있으면 리스트에 저장하지 않고, 변수가 없으면 저장하여 최댓값을 출력하면 된다.

 

7. 소스 코드

import sys
input=sys.stdin.readline

N, L = map(int, input().split())

Num = str(L)

res = []
temp = 1

while True :
    if len(res) == N : break

    sign = 0

    tempNum = str(temp)

    for i in range(len(tempNum)) :
        if tempNum[i] == Num :
            sign = 1
            break

    if sign == 0 :
        res.append(temp)

    temp += 1

print(max(res))

 


 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기