
프로그래머스에서 낸 코딩 문제에 대한 해답이 들어있습니다.
열람 시 주의해주세요.

1. 덧셈식 출력하기
두 정수 a, b가 주어질 때 다음과 같은 형태의 계산식을 출력하는 코드를 작성해 보세요.
a + b = c
문제 코드
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의 값을 연산식 +로 합쳐서 출력하면 된다. 정답에서는 int c를 생성하여 a + b로 하였지만, (a + b) 만으로 처리하여도 좋다. 문자와는 결합연산으로 처리했다.
정답
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();
int c = a + b;
System.out.println(a + " + " + b + " = " + c);
}
}
2. 문자열 붙여서 출력하기
두 개의 문자열 str1, str2가 공백으로 구분되어 입력으로 주어집니다.
입출력 예와 같이 str1과 str2을 이어서 출력하는 코드를 작성해 보세요.
입력: str1 str2 -> 출력: str1str2
문제 코드
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();
}
}
정답 해설
각 String인 a와 b를 결합연산자로 합치면 된다. + 를 사용한다.
정답
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.println(a + b);
}
}
3. 문자열 돌리기
문자열 str이 주어집니다.
문자열을 시계방향으로 90도 돌려서 아래 입출력 예와 같이 출력하는 코드를 작성해 보세요.
입력: abcde -> 출력: a
b
c
d
e
문제 코드
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
}
}
문제 해설
a를 for문으로 각 문자마다 순회하여 println문으로 출력해주면 된다.
조건에 i < a.length(); 를 사용하고, 각 문자의 추출은 a.charAt(i)를 사용하면 된다.
정답
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
for(int i = 0; i < a.length(); i++){
System.out.println(a.charAt(i));
}
}
}
4. 홀짝 구분하기
자연수 n이 입력으로 주어졌을 때 만약 n이 짝수이면 "n is even"을,
홀수이면 "n is odd"를 출력하는 코드를 작성해 보세요.
문제 코드
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
}
}
문제 해설
짝수와 홀수에 대한 여부는 나머지 연산 %를 주로 사용한다. %는 나눗셈을 한 다음 그 나머지를 반환하는데, % 2 == 0 이라면 짝수, 그렇지 않으면 홀수다.
즉, if(n % 2 == 0)이라면 n is even을 출력하면 되고, 그 외에는 odd를 하면 된다(둘이 반대여도 차이는 없다.)
정답
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
if(n % 2 == 0) {
System.out.println(n + " is even");
} else {
System.out.println(n + " is odd");
}
}
}
5. 문자열 겹쳐쓰기
문자열 my_string, overwrite_string과 정수 s가 주어집니다. 문자열 my_string의 인덱스 s부터 overwrite_string의 길이만큼을 문자열 overwrite_string으로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.

문제 코드
class Solution {
public String solution(String my_string, String overwrite_string, int s) {
String answer = "";
return answer;
}
}
문제 해설
본격 함정 문제…
처음 정답으로 낸 것은 이것.
class Solution {
public String solution(String my_string, String overwrite_string, int s) {
String answer = "";
String str = my_string.substring(s, + overwrite_string.length() + s);
answer = my_string.replace(str, overwrite_string);
return answer;
}
}
s번부터 overwrite_string.length() + s번까지 잘라 변환할 문자를 가져온 뒤, str.replace를 사용하여 수정하려 했는데 … 6번 케이스에서 오답이 났다.
왜 이런 오답이 났는가? 6번 케이스가 뭔진 모르지만 str 부분과 일치하는 부분이 나와서 그렇다고 추정된다. 즉, 이 문제는 str.replace의 문제점에 대해서 알고 있느냐를 테스트하는 문제이기도 한 것. 제대로 당했다…
그렇다면 어떻게 해야하는가?
substring으로 overwrite_string 앞 뒤를 잘라 이어붙이면 된다.
즉, my_string.substring(0, s) + overwrite_string + my_string.substring(overwrite_string.length()) 형태로 이어붙여서 반환하면 된다.
substring
substring은 문자열을 자르는 메서드로, substring(시작점, 끝점) 형태로 사용하며, 끝점을 생략할 경우 끝까지가 출력된다.
정답
class Solution {
public String solution(String my_string, String overwrite_string, int s) {
String answer = "";
answer = my_string.substring(0, s) + overwrite_string + my_string.substring(s + overwrite_string.length());
return answer;
}
}
'코테런 > 코딩 기초 트레이닝(완주)' 카테고리의 다른 글
| [코딩 테스트 RUN] 코딩 기초 트레이닝 6일차 (0) | 2026.02.11 |
|---|---|
| [코딩 테스트 RUN] 코딩 기초 트레이닝 5일차 (0) | 2026.02.10 |
| [코딩 테스트 RUN] 코딩 기초 트레이닝 4일차 (0) | 2026.02.09 |
| [코딩 테스트 RUN] 코딩 기초 트레이닝 3일차 (0) | 2026.02.08 |
| [코딩 테스트 RUN] 코딩 기초 트레이닝 1일차 (0) | 2026.02.06 |
