인프런 커뮤니티 질문&답변
parseInt가 왜 필요한지 모르겠습니다!
작성
·
307
0
강사님 안녕하세요~! 강의 잘 듣고 있습니다 :0
질문이 있는데요!
if(n % 7 === 0) 이 부분에서
어차피 7로 나누어 떨어질 때만 밑에 코드가 실행될텐데,
그럼 나눈 몫은 항상 정수가 되지 않을까요?
퀴즈
분할 정렬(Merge Sort)은 정렬되지 않은 리스트를 어떻게 나누어 처리할까요?
무작위로 요소를 선택하여 분할합니다.
리스트를 절반으로 계속 나누어 재귀적으로 처리합니다.
특정 기준값보다 큰 요소와 작은 요소로 분할합니다.
첫 번째 요소와 마지막 요소를 기준으로 분할합니다.
답변 4
2
안녕하세요! :)
parseInt는 만약을 위한 것입니다.
예를 들어 javascript에서도 부정확 연산을 하게 되는데요.
11*0.3
11*0.03(여기서 값이 0.32999999999999996가 나와버립니다!!)
11*0.003
이렇게 3가지를 해보시면 예상했던 결과랑 다른 값이 나오는데요.
이렇게 진수별로 오차 발생으로 인한 부정확 연산이 있기 때문에
안전장치라고 보시면 되십니다.^^
감사합니다.
1
부정확한 연산이 생기는 경우의 수는 한정되어 있지만, 정수처리를 할 때 해당 연산으로 안전성 확보를 한다는 취지로
이해하셔도 좋습니다.
코딩테스트에서 일부러 이 부정확 연산을 문제로 낸다는 것은 논란의 여지가 있어보여서
편안한 방법으로 사용하셔도 괜찮습니다.
카카오 코딩테스트 보세요? 프로그래머스에서 코딩 테스트 보시면 Test Case 통과 여부를 확인을 할 수 있기 때문에
정답이라고 뜨면 제출하시면 되십니다. :)
0
아 그렇군요! 카카오는 고민하다가 이번에 지원하지 않았어요...ㅠㅠ
그치만 이번주에 프로그래머스에서 코딩테스트를 볼 예정인건 맞아요...! ㅎㅎㅎ 참고해서 풀도록 하겠습니다.
감사합니다 :)
0
음 그렇군여.. ! 우선 빠른 답변 감사드립니다!!! ㅎㅎ
그런데.. 7로 나누었을때 나머지가 0인 정수에 대해서만 몫을 구하는 연산을 하는데도
부정확한 연산이 생길 가능성이 있는건가요?!
왜냐면 혹시 나중에 비슷한 문제를 풀 때
parseInt를 써놓지 않으면 문제가 정확하게 정답으로 채점이 안 된다거나.. 하는 경우가 생길 수 있는지 궁금해서요!
(혼자서 풀었을 땐 생각을 못 했거든요 ㅠㅠ)





