2-I 질문드립니다.
54
작성한 질문수 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
55
2
코딩살구클럽 가입문의
0
62
2
3-K private case 질문
0
59
2
안녕하세요. 코딩살구클럽 문의드립니다!
0
73
2
7:41 듣다가 질문합니다
0
69
2
코드 리뷰 요청드립니다!
0
74
2
코딩살구클럽 계정 문의
0
75
2
SK하이닉스 대비 강의수강
0
206
3
코딩살구클럽 등록부탁드립니다.
0
72
2
7-F 재귀로 풀시 런타임애러
0
69
1
1-N 문제 질문입니다. (+ 채점오류)
0
81
2
코딩살구클럽 가입 확인 부탁드립니다.
0
85
2
직장인 코테 합격 공부방법 문의
0
115
2
코딩살구클럽 가입 방법
0
91
2
6-H 체점 관련 질문
0
74
1
채점서버 연결 관련 질문입니다
0
99
2
삼성 s직군
0
88
1
삼성 코테 없어짐
0
208
1
코딩살구클럽 가입부탁드립니다
0
87
2
코딩살구클럽 가입 요청 확인부탁드립니다
0
67
2
5-S 테스트 케이스 질문
0
73
2
코살 문제풀이 환경
0
85
2
2 - T 오큰수 문제가 있는 것 같습니다.
0
77
1
추천 추가문제들
0
71
2





