| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- 프로그래머스 #자바 #java #코딩테스트 #연속된 수의 합 #코딩
- JAVA #객체지향언어 #절차지향언어 #코딩 #Python #C #C++ #객체지향 #절차지향
- 프로그래머스 #JAVA #코딩테스트 #다음에 올 숫자 #코딩
Archives
- Today
- Total
Javadocs
[Programmers] 인덱스 바꾸기 (Java) 본문
https://school.programmers.co.kr/learn/courses/30/lessons/120895
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
[ 문제 설명 ]
문자열 my_string과 정수 num1, num2가 매개변수로 주어질 때, my_string에서 인덱스 num1과 인덱스 num2에 해당하는 문자를 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요.
[ 제한 사항 ]
- 1 < my_string의 길이 < 100
- 0 ≤ num1, num2 < my_string의 길이
- my_string은 소문자로 이루어져 있습니다.
- num1 ≠ num2
[ 입출력 예 ]
| my_string | num1 | num2 | result |
| "hello" | 1 | 2 | "hlelo" |
| "I love you" | 3 | 6 | "I I veoyou" |
[ 입출력 예 설명 ]
입출력 예 #1
- "hello"의 1번째 인덱스인 "e"와 2번째 인덱스인 "I"을 바꾸면 "hlelo"입니다.
입출력 예 #2
- "I love you"의 3번째 인덱스 "o"와 " "(공백)을 바꾸면 "I I veoyou"입니다.
[ 풀이 ]
import java.util.Arrays;
public class IndexSwitch {
public String solution(String my_string, int num1, int num2) {
// String 문자열을 char배열로 변환
char[] charArr = my_string.toCharArray(); // [I, , l, o, v, e, , y, o, u] 출력
// System.out.println(Arrays.toString(charArr));
// 인덱스 num1 자리에 num2값을 대입
charArr[num1] = my_string.charAt(num2); // [I, , l, , v, e, , y, o, u]
// 인덱스 num2 자리에 num1값을 대입
charArr[num2] = my_string.charAt(num1); // [I, , l, , v, e, o, y, o, u]
// char배열을 String 문자열로 변환
return String.valueOf(charArr);
}
}
String.valueOf()
: 객체를 String 문자열 참조 자료형으로 형 변환해주는 역할.
public class Myclass {
pulbic static void main(String args[]) {
char[] arr = {'h', 'e', 'l', 'l', 'o'};
String str = String.valueOf(arr);
System.out.println(str);
// hello가 출력
}
}charAt()
: charAt()은 문자열에서 문자 하나를 추출할 수 있는 메서드.
[사용법]
: 문자열.charAt(인덱스)
public class CharAtEx01 {
public static void main(String[] args) {
String str = "ABCDEFG";
char ch1 = str.charAt(0);
char ch2 = str.charAt(1);
char ch3 = str.charAt(2);
System.out.println(ch1); // A
System.out.println(ch2); // B
System.out.println(ch3); // C
}
}'SelfStudy > Programmers(코딩테스트)' 카테고리의 다른 글
| [Programmers] 한 번만 등장한 문자 (Java) (0) | 2023.04.18 |
|---|---|
| [Programmers] 가까운 수 찾기 (Java) (0) | 2023.04.15 |
| [Programmers] 369게임 (Java) (0) | 2023.04.01 |
| [ Programmers ] 가장 큰 수 찾기 (Java) (0) | 2023.03.21 |
| [ Programmers ] 최소 직사각형 (Java) (0) | 2023.03.19 |
Comments