본문 바로가기
eomoff
Dev Log/Algorithm

[프로그래머스] 코딩 기초 트레이닝 - Day 2

eomoff 2026. 9. 15. 16:36

코딩테스트 기초 - Day 2 : 출력, 연산, 문자열 조작

문제 1. 덧셈식 출력하기

문제: 두 정수 a, b가 주어질 때 다음과 같은 형태의 계산식을 출력하는 코드를 작성해 보세요.

입력: 4 5
출력: 4 + 5 = 9

정답:

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        System.out.println(a + " + " + b + " = " + (a + b));
    }
}

획득: 딱히 획득할만한게 없음 출력할 때 "+" 잘 쓰자

System.out.printf("%d + %d = %d", a,b,a+b);

위와 같이 작성 가능


문제 2. 문자열 붙여서 출력하기

문제: 두 개의 문자열 str1, str2가 공백으로 구분되어 입력으로 주어집니다. 입출력 예와 같이 str1str2을 이어서 출력하는 코드를 작성해 보세요.

입력: apple pen
출력: applepen

정답:

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();
        String b = sc.next();
        System.out.printf(a + b);
    }
}

또는

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        System.out.print(br.readLine().replaceAll(" ",""));
    }
}

획득:

  • System.out.printf()를 쓰면 서식 문자(%d, %s)을 이용가능, 줄바꿈 없이 출력
  • BufferedReader: Scanner대신 사용가능
  • InputStreamReader: 바이트(Byte)를 문자(Character)로 바꿔줌 예) char('a', 'p', 'p', 'l', 'e')
  • readLine(): 줄단위로 조회(줄바꿈으로 구분)
  • replaceAll(): 문자열.replaceAll("바꿀 대상", "새로 바꿀 문자");

문제 3. 문자열 돌리기

문제: 문자열 str이 주어집니다. 문자열을 시계방향으로 90도 돌려서 아래 입출력 예와 같이 출력하는 코드를 작성해 보세요.

입력: abcde
출력:
a
b
c
d
e

정답:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main{
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str = br.readLine();

        for(char c : str.toCharArray()) {
            System.out.println(c);
        }
    }
}

}

획득: 그동안 배웠던거 활용


문제 4. 홀짝 구분하기

문제: 자연수 n이 입력으로 주어졌을 때 만약 n이 짝수이면 "n is even"을, 홀수이면 "n is odd"를 출력하는 코드를 작성해 보세요.

입력: 100
출력: 100 is even

정답:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Solution{  
    public static void main(String\[\] args) throws IOException {  
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));  
        int n = Integer.parseInt(br.readLine());  
        if (n % 2 == 0) {  
            System.out.println(n + " is even");  
        } else {  
            System.out.println(n + " is odd");  
        }  
    }  
}

획득:

  • int형식으로 받기 위해선 Scanner는 sc.nextInt()로 BufferedReader는 Integer.parseInt()로
  • 삼항연산자로 출력 가능
System.out.print(n + " is");
System.out.println(n % 2 == 0 ? " even" : " odd");

 


문제 5. 문자열 겹쳐쓰기

문제: 문자열 my_string, overwrite_string과 정수 s가 주어집니다. 문자열 my_string의 인덱스 s부터 overwrite_string의 길이만큼을 문자열 overwrite_string으로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.

입력: "He11oWor1d" "lloWorl" 2
출력: "HelloWorld"

정답:

class Solution {
    public String solution(String my_string, String overwrite_string, int s) {
        return my_string.substring(0, s) + overwrite_string + my_string.substring(s + overwrite_string.length());
    }
}
class Solution {
    public String solution(String my_string, String overwrite_string, int s) {
        StringBuilder sb = new StringBuilder(my_string);
        return sb.replace(s, s + overwrite_string.length(), overwrite_string).toString();
    }
}
class Solution {
    public String solution(String my_string, String overwrite_string, int s) {
        char[] my = my_string.toCharArray();
        char[] over = overwrite_string.toCharArray();

        for(int i = 0; i < over.length; i++) {
            my[i + s] = over[i];
        }
        return String.valueOf(my);

    }
}

획득: 어려웠다..

  • substring(): substring(시작, 끝 개수) 형태이다, index(시작) 부터 끝 개수 까지 조회
  • StringBuilder.replace(): replace(시작, 끝, 바꿀문자열)
  • String.valueOf(): String 타입으로 형 변환

'Dev Log > Algorithm' 카테고리의 다른 글

[프로그래머스] 코딩 기초 트레이닝 - Day 1  (0) 2026.09.14