[PCCE 기출문제] 2번 / 각도 합치기

2024. 9. 12. 18:00PCCE 기출문제

https://school.programmers.co.kr/learn/courses/30/lessons/340206

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


문제 설명
일반적으로 두 선분이 이루는 각도는 한 바퀴를 360도로 하여 표현합니다. 따라서 각도에 360의 배수를 더하거나 빼더라도 같은 각을 의미합니다. 예를 들면, 30도와 390도는 같은 각도입니다.

주어진 코드는 각도를 나타내는 두 정수 angle1과 angle2가 주어질 때, 이 두 각의 합을 0도 이상 360도 미만으로 출력하는 코드입니다. 코드가 올바르게 작동하도록 한 줄을 수정해 주세요.


제한사항

  • 0 ≤ angle1 ≤ 5000
  • 0 ≤ angle2 ≤ 5000

입출력 예
입력 #1

280

485


출력 #1

45

입출력 예 설명
입출력 예 #1

  • angle1angle2의 합은 765도이고, 765를 720을 빼면 45도이므로 45를 출력합니다.

디버깅(Debugging) 문제 안내

  • 디버깅(Debugging)은 이미 완성된 코드에서 버그를 찾아 수정하는 문제 타입입니다.
  • 1줄만 수정하여 버그를 고치세요.
  • 2줄 이상 수정할 경우, 실행 결과에 에러 메시지가 표시됩니다.

문제 코드

angle1 = int(input())
angle2 = int(input())

sum_angle = angle1 + angle2
print(sum_angle)

두 개의 각도 angle1, angle2가 주어졌을 때, 두 각도의 합을 구하는 문제입니다.

이 때 중요한 건 360도를 돌 때마다 값은 다시 돌아온다는 점입니다. 예시처럼 30도 = 390도 = 360도 + 30도는 같은 각도인 거죠.

 

문제 코드를 살펴보면, 각도를 더하는 작업은 있지만 360도를 돌 때마다 값을 줄이는 과정이 빠져있습니다.

해당 과정을 추가해 정답 코드를 작성해보겠습니다.

 

정답 코드

angle1 = int(input())
angle2 = int(input())

sum_angle = (angle1 + angle2) % 360
print(sum_angle)

 

두 각도의 합을 360도로 나눠준 나머지만으로 설정하면 간단히 구할 수 있습니다.

sum_angle을 계산할 때 360으로 나눠주지 말고, 출력할 때 %360을 해주는 것으로도 동일한 결과를 출력할 수 있습니다.