최대한 건드리지 않으면서 로직에 맞게 수정했습니다.
왜 num[i] != '\0' 같은 에러 확률 높고 읽기도 힘들고 나중에 찾기도 어려운 코드를 쓰셨는지 잘 모르겠네요!
저걸 바꿔주고, cnt != 0 부분 수정해줬습니다.
1157번 - 단어 공부
1. num[i] != NULL과 같은 표현이 에러가 날 확률이 왜 높을지 혹시 알 수 있을까요??
-> 위에 고수분이 말씀해주신 것과 동일합니다. 글자 마지막이 NULL 문자이지, 배열의 마지막에 NULL인건 아니거든요. 그런데 문자가 아닌 곳에서도 NULL로 체크를 하셨구요. 그래서 어제 글 쓸 때는 로직이 틀렸다고 판단하기 보다는, 뭔가 생각한 바가 있는데(전 모르겠지만) 잘 안됬다고 판단해서 '에러 확률 높고 읽기도 힘들고 나중에 찾기도 어려운 코드를 쓰셨' 이라고 말했습니다. 문자열 판단에만 쓴다면 제가 말한건 틀린 말 입니다.
2. 혹시 작성한 코드는 꽤나 간결하게 작성한 편인걸까요..?
-> 이건 사람마다 취향도 다르고 짜는 스타일도 달라서 뭐라 말은 못하겠지만, 최대한 작성자분 코드를 그대로 두는 상태에서 쓸모없는 로직만 걸러낸 코드를 아래쪽에 추가해두겠습니다. 전 JAVA를 주로 하는 사람이라서 더 고수분들은 더 줄일 수 있을지도 모르겠네요. 그리고 이건 뭐 습관에 관련된건데, 'A'를 그냥 65 라고 하드코딩해서 쓰셨잖아요? 이런건 특별한 이유가 있는게 아니라면 지양해주시는게 좋긴합니다. 나중에 디버깅 하기 빡쌔져요.
3. 제가쓴 조건문이 해당 출력에 어떤 영향을 미친 건가요..?
-> 네넹 위에 고수분이 상세히 적어주셧네요!
4. 9줄의 반복문 조건에서 str[i] != NULL 의 사용은 불가피한가요??
-> 말씀 하신 strlen을 쓰시면 됩니다. 결국 걔도 NULL(\0) 까지 확인하고 길이 알려주는겁니다.
댓글을 작성하려면 로그인해야 합니다.
kwak716 2년 전
max 와 result 는 각각 배열의 원소 중 가장 큰 값 , 그 값은 인덱스 번호를 저장해두었습니다.
하지만 컴파일 시 결과 값은 초기에 선언한 0값들이 출력이 되는데요..
해당 코드에서 어떤 부분을 수정해야 정상적으로 값이 출력이 될까요..?