개발조아

[BOJ/백준] 백준 22351 수학은 체육과목 입니다 3 파이썬 본문

알고리즘/백준

[BOJ/백준] 백준 22351 수학은 체육과목 입니다 3 파이썬

개발조아 2021. 8. 7. 23:17
728x90

문제 링크 : https://www.acmicpc.net/problem/22351

 

22351번: 수학은 체육과목 입니다 3

이환이의 선생님이 부른 두 정수 $A$와 $B$를 공백으로 구분하여 출력하라. 만약 가능한 답이 두 가지 이상이라면, 그중 $A$가 가장 작은 것을 출력하라. 이환이는 항상 정확한 답을 쓰기 때문에,

www.acmicpc.net

엄청 헤매다가 겨우 다시 푼 문제이다. 알고리즘 자체는 쉬운건데... 어디서 틀렸었던건지 아직도 모르겠다.

주어진 s가 3자리 이하라면 각 자릿수가 모두 같은지 체크하고 같다면 그 문자 두개 출력한다

아니라면 1부터 시작해서 s 길이만큼 새로운 문자 만들어서 체크하면 된다.

 

from sys import stdin

input = stdin.readline

s = input().strip()

def solv():
    if len(s) < 4:
        target = s[0]
        flag = True
        for n in s[1:]:
            if target != n:
                flag = False
                break
        if flag:
            print(s,s)
            return
    for start in range(1,1000):
        tmp_str = str(start)
        if tmp_str[0] == s[0]:
            tmp_str = ''
            for end in range(start,1000):
                tmp_str += str(end)
                if len(tmp_str) == len(s):
                    if tmp_str == s:
                        print(start, end)
                        return
                    else:
                        break
solv()
Comments