9813번 - Computing
저번에 질문으로 올렸었는데 못보신 것 같아서 다시 올립니다.
현재 채점에 맞는 정답소스는
a / (b - c) - d = e (a,b,c,d는 n1~n4 중 하나, e는 n5)
만 성립되는 입력에 대해 처리를 못해 NO! 라고 출력합니다.
예를 들어 입력이
15 16 17 50 9
일 경우
50 / (17 - 15) - 16 = 9
라는 식만 성립합니다. (이 외에 다른 숫자배열, 다른 연산자배열로는 성립 불가능합니다.)
따라서 해당 입력이 들어왔을 경우에
OK! 라고 출력이 나와야 하는데
정답처리된 소스에선 이런 케이스의 입력에 NO! 라고 출력합니다.
즉, 정답을 맞추기 위해선
a / (b - c) - d = e
라는 식은 제외하고 검사해야 합니다.
정확히는
a # ( b # c ) # d = e
를 계산하면 틀린 코드가, 계산하지 않으면 맞는 코드가 되네요.
(그런데 저런 순서로만 풀리는 연산자의 조합은 앞서 제시한 나누기, 빼기, 빼기 밖에 없습니다.
다른 연산자의 조합일 경우 a~d의 순서를 바꾸면 괄호의 위치를 바꿀 수 있지만, 나누기 빼기 빼기 조합은 a~d의 순서 또는 괄호의 위치를 바꿀 수 없습니다.)
문제를 만들 당시에 가운데에만 괄호가 있어야 풀 수 있는 경우는 없다고 생각하고 해당 케이스는 제외한 채 테스트 케이스를 만들어 둔 것 같네요.
수정 후 재채점이 필요할 듯 싶습니다.
추가로, 한 가지만 더 요청드리자면
문제상에서 "n1~n4의 위치를 바꿔도 된다" 라고 정확히 명시를 해주지 않아서
처음 문제를 접할 때 애로사항이 있습니다.
문제만 봐선 n1~n4의 위치는 고정이고 그 사이의 괄호나 연산자만 바뀔 수 있다고 잘못 해석될 여지가 있어보이네요.
정확한 명시가 추가되었으면 좋겠습니다.
추가했습니다.
댓글을 작성하려면 로그인해야 합니다.
simm4256 7년 전 1
저번에 질문으로 올렸었는데 못보신 것 같아서 다시 올립니다.
현재 채점에 맞는 정답소스는
a / (b - c) - d = e (a,b,c,d는 n1~n4 중 하나, e는 n5)
만 성립되는 입력에 대해 처리를 못해 NO! 라고 출력합니다.
예를 들어 입력이
15 16 17 50 9
일 경우
50 / (17 - 15) - 16 = 9
라는 식만 성립합니다. (이 외에 다른 숫자배열, 다른 연산자배열로는 성립 불가능합니다.)
따라서 해당 입력이 들어왔을 경우에
OK! 라고 출력이 나와야 하는데
정답처리된 소스에선 이런 케이스의 입력에 NO! 라고 출력합니다.
즉, 정답을 맞추기 위해선
a / (b - c) - d = e
라는 식은 제외하고 검사해야 합니다.
정확히는
a # ( b # c ) # d = e
를 계산하면 틀린 코드가, 계산하지 않으면 맞는 코드가 되네요.
(그런데 저런 순서로만 풀리는 연산자의 조합은 앞서 제시한 나누기, 빼기, 빼기 밖에 없습니다.
다른 연산자의 조합일 경우 a~d의 순서를 바꾸면 괄호의 위치를 바꿀 수 있지만, 나누기 빼기 빼기 조합은 a~d의 순서 또는 괄호의 위치를 바꿀 수 없습니다.)
문제를 만들 당시에 가운데에만 괄호가 있어야 풀 수 있는 경우는 없다고 생각하고 해당 케이스는 제외한 채 테스트 케이스를 만들어 둔 것 같네요.
수정 후 재채점이 필요할 듯 싶습니다.
추가로, 한 가지만 더 요청드리자면
문제상에서 "n1~n4의 위치를 바꿔도 된다" 라고 정확히 명시를 해주지 않아서
처음 문제를 접할 때 애로사항이 있습니다.
문제만 봐선 n1~n4의 위치는 고정이고 그 사이의 괄호나 연산자만 바뀔 수 있다고 잘못 해석될 여지가 있어보이네요.
정확한 명시가 추가되었으면 좋겠습니다.