1. (문자 반복 출력하기) 문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return
class Solution {
public String solution(String my_string, int n) {
String answer = "";
for (int i = 0; i < my_string.length(); i++){ // char 배열 하나씩 증가
for (int j = 0; j < n; j++) // char하나를 n번 만큼
{
answer += my_string.charAt(i);
}
}
return answer;
}
}
String to Char
* 여기서 string변수 이름이란 것은 원래 선언된 변수 또는 배열을 의미한다. (위 예제에서는 my_string이 된다)
1) 하나씩만 (배열로 안 만들어줌)
char 변수이름 = string형변수이름.charAt(인덱스번호);
: String으로 저장된 문자열을 한글자씩 내가 선택해서 char 타입으로 변환해준다.
2) 처음부터 배열로 나열
char[] 변수이름 = string형변수이름.toCharArray();
Char to String
1) 배열, 인덱스 하나도 가능
String 변수이름 = String.valueOf(char형 변수이름);
2) 배열 불가
String 변수이름 = Character.toString(char형 변수이름) ;
3) " " 이용 (이해 안감)
public class del {
public static void main(String[] args) {
char ch = 'A';
String str = ch + "";
System.out.println(str);
}
}
2.(피자 나눠먹기(1)) 피자를 7조각으로 나눠준다. 나눠 먹을 사람의 수 n일 때, 모든 사람이 피자 한 조각 이상 먹기 위해 필요한 피자의 수는?
class Solution {
public int solution(int n) {
int answer = n / 7;
if (n % 7 != 0) {
answer = (n/7) + 1;
}
return answer;
}
}
다른 사람의 풀이 1) 수학적으로 완벽... 이렇게 간단한 것을...
class Solution {
public int solution(int n) {
return (n + 6) / 7;
}
}
다른 사람의 풀이 2) 삼항연산자 사용
class Solution {
public int solution(int n) {
int answer = (n%7==0) ? n/7 : n/7 + 1;
return answer;
}
}
3. (문자열 뒤집기) 문자열 my_string이 매개변수일 때, my_string을 거꾸로 뒤집은 문자열을 출력
너무 길고 헷갈리게 적혀있어서 별로다..
class Solution {
public String solution(String my_string) {
char[] my_character = my_string.toCharArray();
char[] charArray = new char[my_character.length];
for (int i = 0; i < charArray.length; i++) {
charArray[i] = my_character[charArray.length - 1 -i];
}
String answer = new String(charArray);
return answer;
}
}
매번 헷갈리는 것
1) length : 배열의 길이
2) length() : 문자열의 길이
3) size() : 컬렉셕프레임워크 타입의 길이
다른사람의 풀이 1) StringBuuilder 이용
class Solution {
public String solution(String myString) {
return new StringBuilder(myString).reverse().toString();
}
}
근데 나는 아직 StringBuilder가 뭔지 모름.. 공부해야 해... StringBuilder와 StringBuffer
다른사람의 풀이 2) for문 이용하기
class Solution {
public String solution(String my_string) {
String answer = "";
for(int i=my_string.length()-1; i>=0; i--){
answer+=my_string.charAt(i);
}
return answer;
}
}
'코딩연습일기 > 코딩테스트연습' 카테고리의 다른 글
코딩테스트연습 #4 (0) | 2023.03.04 |
---|---|
코딩테스트연습#2 (0) | 2023.02.26 |
코딩테스트연습 #1 (0) | 2023.02.25 |