• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

parseInt가 왜 필요한지 모르겠습니다!

20.05.16 18:24 작성 조회수 109

0

강사님 안녕하세요~! 강의 잘 듣고 있습니다 :0 

질문이 있는데요!

if(n % 7 === 0) 이 부분에서

어차피 7로 나누어 떨어질 때만 밑에 코드가 실행될텐데, 

그럼 나눈 몫은 항상 정수가 되지 않을까요? 

답변 4

·

답변을 작성해보세요.

2

안녕하세요! :)

parseInt는 만약을 위한 것입니다.

예를 들어 javascript에서도 부정확 연산을 하게 되는데요.

11*0.3

11*0.03(여기서 값이 0.32999999999999996가 나와버립니다!!)

11*0.003

이렇게 3가지를 해보시면 예상했던 결과랑 다른 값이 나오는데요.

이렇게 진수별로 오차 발생으로 인한 부정확 연산이 있기 때문에

안전장치라고 보시면 되십니다.^^

감사합니다.

1

부정확한 연산이 생기는 경우의 수는 한정되어 있지만, 정수처리를 할 때 해당 연산으로 안전성 확보를 한다는 취지로

이해하셔도 좋습니다.

코딩테스트에서 일부러 이 부정확 연산을 문제로 낸다는 것은 논란의 여지가 있어보여서

편안한 방법으로 사용하셔도 괜찮습니다.

카카오 코딩테스트 보세요? 프로그래머스에서 코딩 테스트 보시면 Test Case 통과 여부를 확인을 할 수 있기 때문에

정답이라고 뜨면 제출하시면 되십니다. :)

0

sion007005님의 프로필

sion007005

질문자

2020.05.18

아 그렇군요!  카카오는 고민하다가 이번에 지원하지 않았어요...ㅠㅠ 

그치만 이번주에 프로그래머스에서 코딩테스트를 볼 예정인건 맞아요...! ㅎㅎㅎ 참고해서 풀도록 하겠습니다.   

감사합니다 :)  

 

 

0

sion007005님의 프로필

sion007005

질문자

2020.05.16

음 그렇군여.. ! 우선 빠른 답변 감사드립니다!!! ㅎㅎ 

그런데.. 7로 나누었을때 나머지가 0인 정수에 대해서만 몫을 구하는 연산을 하는데도 

부정확한 연산이 생길 가능성이 있는건가요?! 

왜냐면 혹시 나중에 비슷한 문제를 풀 때 

parseInt를 써놓지 않으면 문제가 정확하게 정답으로 채점이 안 된다거나.. 하는 경우가 생길 수 있는지 궁금해서요! 

(혼자서 풀었을 땐 생각을 못 했거든요 ㅠㅠ)