두 수 비교하기
이제 단계별로 풀어보기 백준_ 2단계에 접했습니다.
백준 2단계는 조건문이라는 주제로 시작됩니다.
즉 문제에 알맞게 조건을 걸어 원하는 기대값을 출력하게 하기 위한 첫 걸음 입니다.
문제를 요약하자면 다음과 같습니다.
입력 조건으로는 첫째 줄에 A와B가 주어지고, A와 B는 공백 한 칸으로 구분되어 있습니다.
출력 결과는 다음 기대 출력을 가져야 합니다.
A가B보다 큰 경우에는 >를 출력해야 합니다.
A가B보다 작은 경우에는 >를 출력해야 합니다.
A와B가 같은 경우에는 >를 출력해야 합니다.
단순하게 입력받은 수에 대해서 조건문을 걸어줘 조건에 맞는 출력 기대값을 출력하면 되는 문제입니다.
저의 코드는 다음과 같습니다.
A,B = map(int,input().split())
if A > B:
print('>')
elif A < B:
print('<')
elif A == B:
print('==')
여기서 저의 코딩 습관을 볼 수 있는데 보통 == 을 else: 로 처리하여 코딩 하는게 대다수의 사람들이 생각하는 방식이라고 생각합니다. 하지만 else 를 확신하고 쓰는 것과 단순하게 남은 조건이 하나라서 else 사용하는게 매우 다릅니다.
이 같은 경우에도 else 사용해도 무방하지만, 평소 조건이 나온다면 elif 조건을 걸어주고 이후 코드 가독성을 높일 경우에 else 사용하고 주석으로만 처리하는 습관을 길들이고 있습니다.
이 게시글을 읽는 독자들도 자신이 코딩한 코드를 다시 한번 보고 가독성을 높이는 작업을 해보시는 것을 추천합니다.
다음으로는 정답 비율을 한번 분석해보겠습니다.
정답 비율은 약 49%로 저조한 편이라고 생각합니다.
정답 비율이 낮은 이유는 '=' 와 '==' 혼동이라고 생각합니다. 보통 같다라는 의미를 가진 등호는 '='가 적절하지만 '=='는 코드에서 유연스럽게 사용해야 하기 떄문입니다. 이를 혼동하기 매우 쉬워서 오답을 유발했을 것이라고 생각합니다.
아래는 다른 사람의 오답으로 처리 된 공개된 코드 입니다.
저와 코드가 매우 흡사한 것을 볼 수 있습니다.
하지만 예상대로 '=' 와 '==' 를 혼동하여 오답 처리 된 코드입니다.
또한 보통의 사람들의 int() 변환을 해주지 않아서 런타임 오류가 발생한 코드들이 많았습니다.
앞으로 함수를 사용할 때 return 값의 유형을 파악하고 확인하는 습관을 길들여야 한다고 생각합니다.
'BaekJoon Reivew' 카테고리의 다른 글
단계별로 풀어보기 백준_2753번 (0) | 2025.02.05 |
---|---|
단계별로 풀어보기 백준_9498번 (0) | 2025.02.03 |
단계별로 풀어보기 백준_10172번 (0) | 2025.02.03 |
단계별로 풀어보기 백준_10171번 (0) | 2025.02.03 |
단계별로 풀어보기 백준_11382번 (1) | 2025.02.03 |