https://www.acmicpc.net/problem/10926
문제 10926번입니다.
이 문제는 입출력을 응용한 문제입니다.
이 문제의 정답을 알면 굉장히 쉽다고 생각할 겁니다.
근데 이 문제에 대한 리뷰를 왜 할까요 ?
저는 정답을 알고난 후 창피함과 허망함을 느꼈습니다.
문제는 아래와 같았습니다.
저는 문제를 보고 '이미 존재하는 것', '??!로 표현', '이미 존재하는 아이디가 주어졌을 때, 놀람을 표현' 이라는 것에 초점을 두었습니다.
놀람을 표현하는 부분은 쉬웠습니다.
print('??!')
위와 같이 출력하면 되는 부분이었습니다.
그 후 문제는 제가 중복이라는 내용에 너무 초점을 두었던 것입니다.
중복 함수 이기때문에, list()안에 값을 입력해주어야 하고, 똑같은 값이 입력이 되면 중복여부를 판단하여 해당 값을 추출해야 하는 줄 알았습니다.
그래서 전 아래와 같은 코딩을 작성하였습니다.
a = ('joonas')
b = input()
if b in a :
print(b,"??!")
#결과값
joonas ??!
내가 작성한 코딩과 주어진 문제에서의 차이는 입력값과 '??!' 사이에 공백이었다.
해당 공백을 없애기 위해 아래와 같이 수정하였다.
a = ('joonas')
b = input()
if b in a :
print(f'{b}??!')
#결과값
joonas??!
해당 코드로 제출한 결과 정답은 오답이었다.
나는 어떤 부분이 오답인지 곰곰히 생각해보았지만, 해결이 어려워 구글링을 하여 정답을 확인하였다.
정답은 아래와 같았다.
print(input()+'??!')
#결과값
joonas??!
내가 입력한 코딩과 출력값은 같았으나, 코딩에서 차이가 너무 많이 났다.
나는 내가 문제를 어려울것이라 판단하고 너무 어렵게 꼬아서 생각을 한 것 같다.
문제의 기본적인 본질에 대하여 생각하고 판단하여, 가장 기본적인 부분부터 해결을 했어야 하는걸 나는 혼자만의 착각으로 더욱 어렵게 풀어냈다.
백준 문제를 풀면서 가장 효율적이고 합리적은 방향으로 생각하는 습관을 키울 수 있도록 해야겠다.