728x90
KDT 실무형 스프링 백엔드 엔지니어 양성과정 6기 | Algorithm CODEKATA
🧑💼 서울에서 김서방 찾기
🏷 관련 주제 : Array 인덱스 문자열 비교

✔ Solution with for-statement & equals() & String.format()
class Solution {
public String solution(String[] seoul) {
String answer = "";
for(int x = 0; x < seoul.length; x++) {
if (seoul[x].equals("Kim")){
answer = String.format("김서방은 %d에 있다", x);
break;
}
}
return answer;
}
}
채점 결과

✔ Solution with forEach-Statement & equals() & String.format()
class Solution {
public String solution(String[] seoul) {
String answer = "";
int x = 0;
for(String name : seoul) {
if (name.equals("Kim")){
answer = String.format("김서방은 %d에 있다", x);
break;
}
x++;
}
return answer;
}
}
채점 결과

💥 오늘 만난 문제 & 나의 시도 💦 & 해결 방법 👍
📌 오늘 만난 문제 : String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요.seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.
1. 반환할 문자열을 담을 변수 answer 초기화
String answer = "";2. 반복문을 돌면서 seoul의 원소를 탐색하고 만약 인덱스 x 원소의 값이 "Kim"과 일치하면 answer에 "김서방은 x에 있다"를 할당하고 반복문 중단
answer에 문자열을 할당할 때에는String.format("김서방은 %d에 있다", x)를 사용하자.
반복문 중단 키워드는break
for(int x = 0; x < seoul.length; x++) {
if (seoul[x].equals("Kim")){
answer = String.format("김서방은 %d에 있다", x);
break;
}
}
3. answer에 할당된 값을 반환하자.
java return answer;
💬 무엇을 새롭게 알았는지
왜 그런진 잘 모르겠지만 answer에 값을 할당할 때,
덧셈 연산자를 이용해 문자열 + 정수 + 문자열을 String answer에 할당하는 것보다
(answer = "김서방은 " + x + "에 있다";)String.format()을 이용한 코드가 훨씬 속도가 빠르다.
덧셈 연산자를 이용해 문자열 + 정수를 String answer에 할당한 채점 결과

728x90