코딩테스트/백준

[Java][백준 25314번] : 코딩은 체육과목 입니다.

블로그 주인장 2023. 8. 12.

[ 목차 ]


    📢 문제 출처

     

    25314번: 코딩은 체육과목 입니다

    오늘은 혜아의 면접 날이다. 면접 준비를 열심히 해서 앞선 질문들을 잘 대답한 혜아는 이제 마지막으로 칠판에 직접 코딩하는 문제를 받았다. 혜아가 받은 문제는 두 수를 더하는 문제였다. C++

    www.acmicpc.net


    📢 문제 설명

    • 오늘은 혜아의 면접 날이다. 면접 준비를 열심히 해서 앞선 질문들을 잘 대답한 혜아는 이제 마지막으로 칠판에 직접 코딩하는 문제를 받았다. 혜아가 받은 문제는 두 수를 더하는 문제였다. C++ 책을 열심히 읽었던 혜아는 간단히 두 수를 더하는 코드를 칠판에 적었다. 코드를 본 면접관은 다음 질문을 했다. “만약, 입출력이 $N$바이트 크기의 정수라면 프로그램을 어떻게 구현해야 할까요?” 
    • 혜아는 책에 있는 정수 자료형과 관련된 내용을 기억해 냈다. 책에는 long int는 $4$바이트 정수까지 저장할 수 있는 정수 자료형이고 long long int는 $8$바이트 정수까지 저장할 수 있는 정수 자료형이라고 적혀 있었다. 혜아는 이런 생각이 들었다. “int 앞에 long을 하나씩 더 붙일 때마다 $4$바이트씩 저장할 수 있는 공간이 늘어나는 걸까? 분명 long long long int는 $12$바이트, long long long long int는 $16$바이트까지 저장할 수 있는 정수 자료형일 거야!” 그렇게 혜아는 당황하는 면접관의 얼굴을 뒤로한 채 칠판에 정수 자료형을 써 내려가기 시작했다. 
    • 혜아가 $N$바이트 정수까지 저장할 수 있다고 생각해서 칠판에 쓴 정수 자료형의 이름은 무엇일까?

    📢 입출력 예시


    📢 풀이

    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            int num = sc.nextInt();
    
            for (int i = 0; i < num / 4; i++) {
                System.out.print("long" + " ");
            }
            System.out.print("int");
    
        }
    }
    1. 문제의 지문이 길지만 한 마디로 요약하면 4의 배수마다 long의 갯수를 늘려서 출력하는 것이다.
    2. Scanner로 입력을 받아 num에 대입을 해준다.
    3. 대입을 한 후에 num을 4로 나눈 값으로 반복문을 돌려 해당 반복횟수에 맞게 "long" 이라는 단어를 출력해준다.
    4. 출력할 때 " " 공백을 필수로 넣어야 하기 때문에 같이 넣는다.
    5. 반복문이 끝나면 "int"를 출력하여 해당 조건에 맞게 마무리를 짓는다.

     

    반응형

    댓글