문제

정답
class Solution {
public String solution(String str1, String str2) {
String answer = "";
for(int i = 0; i < str1.length(); i++) {
answer = answer + str1.charAt(i) + str2.charAt(i);
}
return answer;
}
}
개념설명
1. 클래스 선언
class Solution {
✔️ 의미
- Solution이라는 클래스 정의
2. 메서드 선언
public String solution(String str1, String str2) {
✔️ 의미
- 두 문자열을 받아서 새 문자열을 만들어 반환하는 메서드
| 요소 | 의미 |
| public | 외부 접근 가능 |
| String | 반환 타입 |
| solution | 메서드 이름 |
| String str1 | 첫 번째 문자열 |
| String str2 | 두 번째 문자열 |
✔️ 전제 조건
- str1과 str2는 길이가 같다고 가정(문제 조건에서 보통 보장됨)
3. 결과 문자열 변수 선언
String answer = "";
✔️ 의미
- 최종 결과를 담을 문자열 변수
- 빈 문자열로 초기화
4. for문 시작 (문자 하나씩 반복)
for(int i = 0; i < str1.length(); i++) {
✔️ 의미
- 문자열 str1의 길이만큼 반복
- 같은 인덱스로 str2도 함께 접근
✔️ for문 구성 요소 분석
for(초기식; 조건식; 증감식)
| 부분 | 의미 |
| int i = 0 | 인덱스 시작 |
| i < str1.length() | 문자열 길이 미만 |
| i++ | 1씩 증가 |
✔️ 왜 str1.length()만 쓰는가?
- 두 문자열 길이가 같기 때문
5. charAt(i)로 문자 추출
str1.charAt(i)
str2.charAt(i)
✔️ 의미
- 각 문자열의 i번째 문자 하나씩 가져옴
- 반환타입 : char
6. 문자열 + 문자 연결
answer = answer + str1.charAt(i) + str2.charAt(i);
✔️ 실행순서
- 이 줄은 왼쪽부터 순서대로 계산된다.
1. answer + str1.charAt(i)
2. (결과 문자열) + str2.charAt(i)
- 문자열이 하나라도 있으면
- +는 문자열 연결 연산자로 동작
7. 반복 종료
}
- 모든 인덱스를 순회하면 for문 종료
8. 결과 반환
return answer;
✔️ 의미
- 완성된 문자열을 반환
9. 클래스 종료
}
🔚 전체 실행 흐름 요약
- 문자열 두 개 입력
- 인덱스 0부터 끝까지 반복
- 같은 위치의 문자 두 개를 순서대로 붙임
- 최종 문자열 반환
💡 핵심 포인트 정리
| 문법 | 의미 |
| charAt(i) | i번째 문자 |
| length() | 문자열 길이 |
| + | 문자열 연결 |
| for | 반복 |
'컴퓨터 > 프로그래머스' 카테고리의 다른 글
| [Java] 프로그래머스 코딩테스트 연습 / 문자열 곱하기 (0) | 2026.01.22 |
|---|---|
| [Java] 프로그래머스 코딩테스트 연습 / 문자 리스트를 문자열로 변환하기 (0) | 2026.01.21 |
| [Java] 프로그래머스 코딩테스트 연습 / 문자열 겹쳐쓰기 (0) | 2026.01.19 |
| [Java] 프로그래머스 코딩테스트 연습 / 문자열 돌리기 (0) | 2026.01.18 |
| [Java] 프로그래머스 코딩테스트 연습 / 문자열 붙여서 출력하기 (1) | 2026.01.17 |