코딩테스트 기초

SUSU·2023년 7월 8일
0

11. 대문자로 바꾸기

알파벳으로 이루어진 문자열 myString이 주어집니다. 모든 알파벳을 대문자로 변환하여 return 하는 solution 함수를 완성해 주세요.

풀이.

class Solution {
    public String solution(String myString) {
        String answer = myString.toUpperCase();
        return answer;
    }
}

12. 문자열 섞기

길이가 같은 두 문자열 str1과 str2가 번갈아가면서 하나씩 출력되는 함수를 만들어 주세요.
ex.

str1str2result
"aaaaa""bbbbb""ababababab"

풀이.

class Solution {
    public String solution(String str1, String str2) {
        String answer = "";
        
        for(int i = 0; i<str1.length();i++){
            
            answer = answer+String.valueOf(str1.charAt(i)) + String.valueOf(str2.charAt(i));
            //answer + =String.valueOf(str1.charAt(i))+String.valueOf(str2.charAt(i));
        }
        
        return answer;
    }
}

String.valueOf() : 기본 데이터 타입(primitive data type)과 객체(object)를 문자열로 변환하는 메서드
valueOf()대신에 "" 를 더해서 문자열로 바꾸는 방법도 있다.
String.charAt() : 문자열(String) 내의 특정 인덱스에 위치한 문자를 반환하는 메서드

13.문자 리스트를 문자열로 변환하기

배열 arr의 원소들을 순서대로 이어 붙인 문자열을 return 하는 solution함수를 작성해 주세요.

arrresult
["a","b","c"]"abc"

풀이.

class Solution {
    public String solution(String[] arr) {
        String answer = "";
        
        for(int i = 0 ; i < arr.length; i++){
            answer += arr[i];            
        }
        return answer;
    }
}

특별한건 없고 배열에 위치한 항목을 끄낼때 [i]로 꺼내는 것만 기억하면 될듯

14. 문자열 곱하기

문자열 my_string과 정수 k가 주어질 때, my_string을 k번 반복한 문자열을 return 하는 solution 함수를 작성해 주세요.

풀이.

class Solution {
    public String solution(String my_string, int k) {
        String answer = "";
        
        for(int i = 0; i<k;i++ ){
            answer += my_string;
        }
        return answer;
    }
}

String.repeat(int count) 함수를 사용해서 한줄로 쓰는 방법도 있다.
ex. my_string.repeat(k);

repeat는 Java 11부터 추가된 String 클래스의 메서드입니다. 이 메서드는 해당 문자열을 지정된 횟수(count)만큼 반복하여 새로운 문자열을 생성한다.

15.더 크게 합치기

연산 ⊕는 다음과 같습니다.

12 ⊕ 3 = 123
3 ⊕ 12 = 312
양의 정수 a와 b가 주어졌을 때, a ⊕ b와 b ⊕ a 중 더 큰 값을 return 하는 solution 함수를 완성해 주세요.

단, a ⊕ b와 b ⊕ a가 같다면 a ⊕ b를 return 합니다.

풀이.

class Solution {
    public int solution(int a, int b) {
        int answer = 0;
        
        int numA  = Integer.parseInt(String.valueOf(a) + String.valueOf(b));
        int numB  = Integer.parseInt(String.valueOf(b) + String.valueOf(a));
        
        answer = numA>numB ? numA:numB;
        
        return answer;
    }
}

Math.max() 함수를 써서 둘중에 더 큰 숫자를 반환하는 방법도 있음

16.두 수의 연산값 비교하기

연산 ⊕는 다음과 같습니다.

12 ⊕ 3 = 123
3 ⊕ 12 = 312
양의 정수 a와 b가 주어졌을 때, a ⊕ b와 2 a b 중 더 큰 값을 return하는 solution 함수를 완성해 주세요.

풀이.

class Solution {
    public int solution(int a, int b) {
        int answer = 0;
        
        int numA  = Integer.parseInt(String.valueOf(a) + String.valueOf(b));
        int numB  = 2*a*b;
        
        answer = numA>numB ? numA:numB;
        
        return answer;
    }
}
profile
기록용

0개의 댓글