작성
·
52
·
수정됨
0
http://boj.kr/017b116886e0494cbf0306919ed43289
저는 부호를 순열로 순서를 바꾸면서 최대 최소를 구했는데 무엇이 틀린지 모르겠습니다.. 부호 순서를 순열로 돌리면 중복이 생기지만 어차피 최대 최소는 상관없을 것이라 문제가 없다고 생각합니다.
예제 같은 경우 다 맞고 백준에 제출 했을 때에는 정답 체킹이 잘되다가 50% 정도에 '틀렸습니다' 문구가 뜹니다. 혹시 몰라 중복 제외하는 코드를 추가해도 동일하게 틀립니다..
그렇다면 어느정도 맞는 코드인데 디테일 한개가 부족한거 같은데 그 부분이 어디인지 정말 못찾겠습니다...
답변 2
0
안녕하세요 ㅎㅎ
int n, a[13],buho[4], ret_max = -2e9, ret_min = 2e9;
이렇게 바꿔보시겠어요?
result의 경우 10억 + 10억만 해도 20억이 되기 때문에 이부분을 고려해서 최소, 최대값을 고치셔야 합니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
안녕하세요 ㅎㅎ
문제에 최대 최소 범위가 주어질 경우에는 더 신경써서 맞춰 줘야되는걸까요?
-> 최대값, 최소잡을 때는 문제 범위를 반드시 신경써야 합니다. 다만, int타입의 경우 보통은 987654321로 써도 되는 경우가 많긴 합니다.
명시가 안되어있다면 987654321을 사용해도 되고요? 지금까지는 이렇게 했을 때 문제가 생긴적이 없었어서요!
=> 범위자체가 명시가 안되는 문제는 없을 거에요. int 타입이라면 보통은 987654321사용한다 + 문제범위보면서 조정한다 이렇게 드가시면 좋을 것 같습니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
AA66님께서 부호 순서를 순열로 사용하여 최대 최소값을 구하는 방법을 시도하셨군요. 문제 해결을 위해 여러 시도를 하셨음에도 불구하고 50%에서 ‘틀렸습니다’라는 결과가 나와 당황스러우실 것 같습니다. 이와 관련하여 비슷한 상황을 다룬 질문과 답변을 찾아보았습니다.
순열 활용에 있어, 몇 가지 검토해야 할 사항을 제시합니다:
순열 생성 시 중복: 순열을 돌리면서 중복문제가 없도록 처리했는지, 중복 체크가 필요한지 검토해 보세요. 최대 최소를 구할 때 중복으로 인해 누락이 발생했을 가능성이 있습니다.
특정 경계 조건에서 예외 처리 여부: 예상하지 못한 경계 상황이 어떤 식으로든 오류를 일으킬 수 있습니다. 예제 외의 케이스에 대해서도 다시 한 번 검토해보세요.
수행 시간 및 메모리: 수많은 순열을 생성했기 때문에, 이에 따른 시간 초과나 메모리 초과가 발생하지 않았는지 확인하세요.
특정 디테일이 빠졌다면, 이는 기저 조건 설정, 초기화, 범위 처리, 또는 경계 상황에서 발생할 수 있는 예외 처리와 관련될 수 있습니다. 위 링크된 게시물에서도 이러한 유형의 문제 처리에 대한 힌트를 얻을 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
앗 이렇게 하니까 해결이 되네여...
교안에서는 최대 최소 구할 때 ret_max = -987654321, ret_min = 987654321;
보통은 저렇게 하면 된다고 되어있었는데 문제에 최대 최소 범위가 주어질 경우에는 더 신경써서 맞춰 줘야되는걸까요?
명시가 안되어있다면 987654321을 사용해도 되고요? 지금까지는 이렇게 했을 때 문제가 생긴적이 없었어서요!