📘문제 설명
String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.
https://school.programmers.co.kr/learn/courses/30/lessons/12919
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
📌 제한조건
- seoul은 길이 1 이상, 1000 이하인 배열입니다.
- seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.
- "Kim"은 반드시 seoul 안에 포함되어 있습니다.
💡 개념 설명
1단계: 배열 탐색 준비 (반복문 설정)
seoul 배열에 있는 모든 이름을 하나씩 확인해야 합니다. 이를 위해 for 반복문을 사용합니다. int i = 0으로 시작하여 배열의 각 위치(인덱스)를 0번부터 차례대로 방문합니다.
2단계: "Kim" 찾기 (조건문으로 확인)
반복문 안에서 현재 확인하고 있는 배열의 요소(seoul[i])가 "Kim"이 맞는지 검사합니다. if (seoul[i].equals("Kim")) 코드가 이 역할을 합니다. 자바에서 문자열의 내용이 같은지 비교할 때는 ==가 아닌 .equals() 메소드를 사용해야 정확합니다.
3단계: 결과 문장 만들기
만약 "Kim"을 찾았다면, 문제에서 요구하는 형식인 "김서방은 x에 있다" 형태의 문장을 만듭니다. 여기서 x는 "Kim"을 찾은 위치(인덱스 i)입니다. 이 문장을 answer 변수에 저장합니다.
4단계: 불필요한 반복 중단
문제의 조건에 따라 "Kim"은 배열에 딱 한 번만 들어있습니다. 따라서 "Kim"을 한 번 찾으면 더 이상 배열을 탐색할 필요가 없으므로, **break;**를 사용해 for 반복문을 즉시 종료합니다. 이는 코드의 효율을 높여줍니다.
5단계: 최종 결과 반환
반복문이 끝나면 "Kim"의 위치 정보가 담긴 answer 변수를 return 키워드를 통해 반환하며 모든 과정이 마무리됩니다.
📎 입출력 예시

📎 코드
import java.util.*;public class Solution { public int solution(int n) { int answer = 0; while (n > 0) { answer += n % 10; n /= 10; } return answer; } public static void main(String[] args) { Solution s = new Solution(); int result1 = s.solution(123); // 1 + 2 + 3 = 6 int result2 = s.solution(987); // 9 + 8 + 7 = 24 System.out.println("123 ➝ " + result1); // 6 출력 System.out.println("987 ➝ " + result2); // 24 출력 }}
📎 결과

'Java' 카테고리의 다른 글
| [Java] 코딩 16 - 프로그래머스 기출 문제(JAVA) / 음양 더하기 / Day 15 (1) | 2025.07.16 |
|---|---|
| [Java] 코딩 15 - 프로그래머스 기출 문제(JAVA) / 나누어 떨어지는 숫자 배열 / Day 14 (1) | 2025.07.15 |
| [Java] 코딩 13 - 프로그래머스 기출 문제(JAVA) / 콜라츠 추측 / Day 12 (2) | 2025.07.11 |
| [Java] 코딩 12 - 프로그래머스 기출 문제(JAVA) / 두 정수 사이의 합 / Day 11 (2) | 2025.07.10 |
| [Java] 코딩 11 - 프로그래머스 기출 문제(JAVA) / 하샤드 수 / Day 10 (0) | 2025.07.09 |