2-I 질문드립니다.
49
작성한 질문수 21
https://www.acmicpc.net/source/96522175
2-I 2870 문제 해결이 되지않아 질문드립니다.
로직은 한 문자열을 받을때마다,
숫자가 시작되는 부분과 끝나는 부분을 파악하면 담고, 없는 부분은 담지 않습니다.
다 담으면, 0으로 시작하는 부분에 대해 0을 제거하는 함수를 실행시켜 해당 원소를 앞의 0을 제거한 수로 바꿉니다.(0000은 0으로 처리가 잘 됩니다.)
그리고 정렬에도 이상이 없어보입니다...!
예시문제는 다 통과되는데, 3%에서 계속 오답이 됩니다...!
어디가 틀렸을까요?
답변 2
1
안녕하세요 어려워님 ㅎㅎ
string delete_zero(string num){
if(num[0] == num[num.length()-1])
return "0";이부분이요.
0110 과 같은 경우 0으로 되지 않을까요?
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. 너무어려워님.
2-I 문제에 관련하여 3%에서 계속 오답이 발생하는 상황에 대해 고민이 많으신 것 같군요. 귀하의 문제와 유사한 사례에서의 해결 방법에 대한 조언을 드리겠습니다.
문제의 핵심
주어진 문제는 문자열 내에서 숫자를 추출하고, 앞의 ‘0’을 제거한 후 정렬하는 알고리즘 문제입니다. 일반적으로 이 과정에서 약간의 실수들이 발생할 수 있으며, 특히 아래와 같은 부분들을 주의 깊게 확인해야겠습니다:
범위 처리: 입력 문자열의 길이가 상당히 길 수 있습니다. 각 숫자를 int로 변환하여 처리하면, 초과 범위로 인한 문제가 발생할 수 있습니다. 따라서, 숫자를 처리할 때는 문자열로 처리하거나
long long타입을 고려해야 합니다.0 처리 로직 검증: 모든 숫자에 대해 앞의 0을 정확히 제거했는지 확인하세요. ‘0000’ 같은 경우는 0으로 취급되나, ‘00010’을 ‘10’으로 변환하는 로직이 제대로 구현되어야 합니다.
기존 해결 방법 참고
유사한 문제 해결 사례를 참고하시면 이해에 도움이 될 것입니다. 다음 사례에서는 큰 숫자를 문자열로 처리하는 방식을 통해 범위 초과를 방지하고 있습니다:
이 링크에서는 숫자 변환 시 범위 문제로 발생할 수 있는 오류를 설명하고 문자열 기반 로직을 사용해 문제를 해결하는 방법에 대해 설명합니다.
추가적인 조언
디버깅: 디버그 로그를 추가하여 각 단계의 결과를 확인함으로써 예상치 못한 값이 처리되는 부분을 찾을 수 있습니다.
테스트 케이스 강화: 다양한 엣지 케이스들을 수동으로 추가하여 프로그램이 예상대로 작동하는지 확인하십시오. 특히 긴 문자열, 불균형한 0의 사용, 여러 자리 수 입력 등을 고려하세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
코딩살구클럽 가입부탁드립니다
0
27
2
코딩살구클럽 가입 요청 확인부탁드립니다
0
30
2
5-S 테스트 케이스 질문
0
35
2
코살 문제풀이 환경
0
48
2
2 - T 오큰수 문제가 있는 것 같습니다.
0
43
1
추천 추가문제들
0
43
2
프로그래머스 코테 환경 관련해서 질문드립니다.
0
47
2
해당 문제에 대한 채점이 코딩살구클럽에서 올바르게 처리되지 않습니다.
0
41
2
균형 이진 트리 설명 시 높이 숫자
0
31
2
4-H 질문드립니다.
0
35
2
1-K 질문드립니다.
0
41
2
대기업 인적성 시험 질문
0
41
2
4-C 질문드립니다
0
41
2
[수학숙제 / BOJ 2870] 채점 서버 오작동
0
37
1
코테 준비 질문
0
50
1
살구클럽가입 요청드려요
0
39
2
1-I 문제 질문
0
40
2
코딩살구클럽 가입
0
57
2
AI 코딩 도구 사용 시 학습 방법 조언
0
52
2
코딩살구클럽 오류
0
61
2
코살클 [3-F 괄호 추가하기] 프라이빗 9번 제보
0
46
1
코딩살구클럽 테스트 케이스 오류 제보
0
52
2
삼성 코딩테스트
0
65
2
틀린 이유를 못찾겠습니다
0
48
2





