2-I 질문드립니다.
45
작성한 질문수 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의 사용, 여러 자리 수 입력 등을 고려하세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
2주차 개념#12 트리 순회
0
3
1
백준사이트가 종료된다고 합니다.
0
193
2
백준 서비스 종료
9
617
1
sk 하이닉스 코테 대비
0
345
2
3-G 최댓값 질문
0
45
1
모듈러 연산 값이 10이 아닌 경우도 있지 않나요?
0
76
2
3-I 코드 질문드립니다.
0
59
2
3-N 질문 있습니다.
0
63
2
학습방법
0
98
2
4-H 질문 있습니다 (코드 리뷰)
0
65
2
코딩테스트 어디까지 준비해야 하는지 질문이 있습니다.
0
161
2
2-O 반례가 무엇일지 어떤 부분이 틀렸는지 잘 모르겠습니다.
0
68
2
2주차 개념 #4-2. 인접행렬 질문있습니다.
0
62
2
1-A 문제풀이 후 궁금한 점이 생겨서 질문드립니다.
0
48
2
조합 재귀 풀이 확인 해주시면 감사하겠습니다.
0
66
2
함수별 시간복잡도
0
71
2
3-h 질문입니다.
0
47
1
안녕하세요 선생님. 시간 복잡도 4번 질문있습니다.
0
51
2
1-I 문제 질문 드립니다.
0
74
2
2-P 질문입니다.
0
55
1
mac에서 시작하기 관련
0
86
2
5-Q 질문
0
61
2
풀이 코드 질문
0
62
2
맞왜틀
0
67
2





