devlog_owen
[프로그래머스] DAY 1 두수의합, 차,곱,몫 구하기 본문
1) 두수의 합
내가 쓴 정답. 처음이라 원래 써져있던 코드를 지워도 되나싶고 여러 시행착오들이 있었다.
다른 사람이 쓴 정답. 화살표함수를 쓰면 훨씬 간단한 일이었다. 두번째 풀이는 IF 조건문을 활용한 방법이었는데 사실 이렇게 코드를 쓰다가 결국 포기하고 FUNCTION문으로만 해결했다. IF문으로 두가지 조건을 같이 걸어서 변수선언문으로 마무리.
2) 두수의 차
내가 쓴 풀이. 위의 화살표함수를 그대로 적용했다. 처음에 오류가 났는데 일단 멍청하게 -인데 +를 해서 첫번째 오류가 났고 두번째는 solution 철자를 틀려서 오류가 났다.
다른사람 풀이. 위와 유사하다. 이 다음엔 이렇게 조건문 넣어서 해봐야지
3) 두수의 곱
내가 쓴 풀이. 이번에는 조건문으로 통과!
4) 몫 구하기
풀이하면서 4문제 중에 가장 고민한 문제였다. 원래는 저 return문을 return num1/num2로 했었는데 2번째 테스트에서 실패했다. 7/3의 몫은 3이 아니라 3.5여서 그렇다. 그래서 구글링해서 몫을 구하는 방법을 알아냈다.
Math.floor()로 몫만 추출해내서 결국 풀이 성공!
다른사람 풀이도 나와 비슷했다. 다음은 chatGPT가 알려주는 parseInt와 Math.floor차이다.
parseInt와 Math.floor은 JavaScript에서 숫자를 다루는 데 사용되는 두 가지 함수입니다. 각 함수는 다음과 같은 역할을 합니다:
- parseInt: parseInt 함수는 문자열을 정수로 변환하는 역할을 합니다. 주어진 문자열에서 시작부분부터 숫자로 시작하는 부분을 추출하고, 숫자가 아닌 문자가 나타나면 변환을 멈춥니다. 이 함수는 첫 번째로 나타나는 숫자를 찾아서 정수로 변환합니다.
javascriptCopy codeparseInt("10.55"); // 10 parseInt("123abc"); // 123
- 예시:결과는 각각 10/ 123
- Math.floor: Math.floor 함수는 주어진 숫자의 소수 부분을 버리고 남은 정수 부분만 반환합니다. 즉, 내림을 수행하여 가장 가까운 작은 정수로 내립니다.
javascriptCopy codeMath.floor(10.55); // 10 Math.floor(9.99); // 9
- 예시: 결과는 각각 10/ 9
차이점은 parseInt는 문자열을 정수로 변환하는데 사용되며, 숫자로 시작하지 않는 문자는 무시합니다. 반면에 Math.floor는 주어진 숫자의 소수 부분을 버리고 정수로 내림을 수행합니다.
'algorithm > (js)프로그래머스' 카테고리의 다른 글
[프로그래머스] DAY4 배열의 평균값 (0) | 2023.10.24 |
---|---|
[프로그래머스] DAY4 피자나눠먹기(3) (0) | 2023.10.24 |
[프로그래머스] DAY 4 피자나눠먹기(1) (1) | 2023.10.23 |
[프로그래머스] DAY 3. 나머지 구하기, 중앙값 구하기 (0) | 2023.10.20 |
[프로그래머스] DAY 2 두수의 나눗셈, 숫자비교하기, 분수의 덧셈, 배열 두배 만들기 (1) | 2023.10.19 |