▶repeat() 함수를 사용한 간단한 문제가 있어 정리해보고자 합니다.
문제설명
오늘은 혜나의 면접 날이다. 면접 준비를 열심히 해서 앞선 질문들을 잘 대답한 혜라는 이제 마지막으로 칠판에 직접 코딩하는 문제를 받았다. 혜아가 받은 문제는 두 수를 더하는 문제였다. C++ 책을 열심히 읽었던 혜라는 간단히 두 수를 더하는 코드를 칠판에 적었다. 코드를 본 면접관은 다음 질문을 했다. “만약, 입출력이
N바이트 크기의 정수라면 프로그램을 어떻게 구현해야 할까요?”
혜아는 책에 있는 정수 자료형과 관련된 내용을 기억해 냈다. 책에는 long int는
4바이트 정수까지 저장할 수 있는 정수 자료형이고 long long int는 8바이트 정수까지 저장할 수 있는 정수 자료형이라고 적혀 있었다. 혜라는 이런 생각이 들었다. “int 앞에 long을 하나씩 더 붙일 때마다 4바이트씩 저장할 수 있는 공간이 늘어나는 걸까? 분명 long long long int는
12바이트, long long long long int는 16바이트까지 저장할 수 있는 정수 자료형일 거야!” 그렇게 혜아는 당황하는 면접관의 얼굴을 뒤로한 채 칠판에 정수 자료형을 써 내려가기 시작했다.
혜아가
N바이트 정수까지 저장할 수 있다고 생각해서 칠판에 쓴 정수 자료형의 이름은 무엇일까?
입력 & 출력
노트
출력에서 long과 long, long과 int 사이에는 공백이 하나씩 들어간다.
실제로 C++에서 각 정수 자료형이 저장할 수 있는 수의 크기는 환경에 따라 달라질 수 있다. 덧붙여, 실제로 문제 내용과 같이 long long long int와 같은 자료형을 사용한 코드를 GCC의 C++ 컴파일러를 사용해 컴파일하려고 할 경우 'long long long' is too long for GCC라는 에러 메시지와 함께 컴파일되지 않는다.
나의 풀이
아주 간단하게 long이 4바이트니깐 입력받은 정수 N으로 변환하여 4로 나누어 반복문을 돌려주었습니다.
refactoring ✅
정수형으로 변환을 받을때 한 번에 하고, 백틱 ` `을 사용하여 + 을 제외했습니다.
그리고 repeat() 함수를 사용해서 인자의 수만큼 반복을 하여 마무리했습니다.
참고 ❗
'Coding Test > 백준' 카테고리의 다른 글
[백준] 공 바꾸기 (10813번 , node.js) (1) | 2024.03.18 |
---|---|
[백준] 공 넣기 (10810번, node.js) (1) | 2024.03.17 |
[백준] 최댓값 (2562번, Node.js) (0) | 2024.03.16 |
[백준] VsCode에서 node.js 입력받기 (Error: ENOENT: no such file or directory, open ~ 에러 해결) (0) | 2024.03.16 |
[백준] node.js 입출력 방법 알아보기1 (fs모듈 이용) (0) | 2024.02.21 |