본문 바로가기

Chapter01/고딩데스드

[고딩데스드] Lv.0 여러개

코딩테스트 연습 > 코딩 기초 트레이닝 > 덧셈식 출력하기

문제 설명
두 정수 a, b가 주어질 때 다음과 같은 형태의 계산식을 출력하는 코드를 작성해 보세요.

a + b = c
제한사항
1 ≤ a, b ≤ 100
입출력 예
입력 #1

4 5
출력 #1

4 + 5 = 9

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();

        System.out.println(a + " + " + b + " = " + (a + b));
    }
}

 


코딩테스트 연습 > 코딩 기초 트레이닝 > 문자열 붙여서 출력하기

 


문제 설명
두 개의 문자열 str1, str2가 공백으로 구분되어 입력으로 주어집니다.
입출력 예와 같이 str1과 str2을 이어서 출력하는 코드를 작성해 보세요.

제한사항
1 ≤ str1, str2의 길이 ≤ 10
입출력 예
입력 #1

apple pen
출력 #1

applepen
입력 #2

Hello World!
출력 #2

HelloWorld!

 

 

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();
        String b = sc.next();
        
        System.out.println(a.trim()+b.trim());
    }
}

 

 


코딩테스트 연습 > 코딩 기초 트레이닝 >  문자열 돌리기

문제 설명
문자열 str이 주어집니다.
문자열을 시계방향으로 90도 돌려서 아래 입출력 예와 같이 출력하는 코드를 작성해 보세요.

제한사항
1 ≤ str의 길이 ≤ 10

입출력 예
입력 #1

abcde
출력 #1

a
b
c
d
e

 

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();
         for(int i = 0; i<a.length(); i++){
            System.out.println(a.substring(i,i+1));
        }        
    }
}

문자열 겹쳐쓰기
문제 설명
문자열 my_string, overwrite_string과 정수 s가 주어집니다. 문자열 my_string의 인덱스 s부터 overwrite_string의 길이만큼을 문자열 overwrite_string으로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.

제한사항
my_string와 overwrite_string은 숫자와 알파벳으로 이루어져 있습니다.
1 ≤ overwrite_string의 길이 ≤ my_string의 길이 ≤ 1,000
0 ≤ s ≤ my_string의 길이 - overwrite_string의 길이
입출력 예
my_string overwrite_string s result
"He11oWor1d" "lloWorl" 2 "HelloWorld"
"Program29b8UYP" "merS123" 7 "ProgrammerS123"
입출력 예 설명
입출력 예 #1

예제 1번의 my_string에서 인덱스 2부터 overwrite_string의 길이만큼에 해당하는 부분은 "11oWor1"이고 이를 "lloWorl"로 바꾼 "HelloWorld"를 return 합니다.
입출력 예 #2

예제 2번의 my_string에서 인덱스 7부터 overwrite_string의 길이만큼에 해당하는 부분은 "29b8UYP"이고 이를 "merS123"로 바꾼 "ProgrammerS123"를 return 합니다.

 

 

class Solution {
    public String solution(String my_string, String overwrite_string, int s) {

        
        String answer = my_string.substring(0,s)+overwrite_string ;
  
        int remainingLength = my_string.length() - s - overwrite_string.length();
        
        if (remainingLength > 0) {
            answer = answer + my_string.substring(my_string.length() - remainingLength);
        }
        
        return answer;
    }
}

 

 다른 사람의 풀이

 

class Solution {
    public String solution(String my_string, String overwrite_string, int s) {
        String before = my_string.substring(0, s);
        String after = my_string.substring(s + overwrite_string.length());
        return before + overwrite_string + after;
    }
}

ㅎㅎㅎㅎㅎㅎ엄청깔끔하넹 ㅎ

 

 


문자열 섞기
문제 설명
길이가 같은 두 문자열 str1과 str2가 주어집니다.

두 문자열의 각 문자가 앞에서부터 서로 번갈아가면서 한 번씩 등장하는 문자열을 만들어 return 하는 solution 함수를 완성해 주세요.

제한사항
1 ≤ str1의 길이 = str2의 길이 ≤ 10
str1과 str2는 알파벳 소문자로 이루어진 문자열입니다.
입출력 예
str1 str2 result
"aaaaa" "bbbbb" "ababababa

 

class Solution {
    public String solution(String str1, String str2) {
         StringBuilder answer = new StringBuilder();
        
        for (int i = 0; i < str1.length(); i++) {
            answer.append(str1.charAt(i));
            answer.append(str2.charAt(i));
        }
        
        return answer.toString();
    }
}

 

StringBuilder는 Java에서 문자열을 효율적으로 처리하기 위한 클래스.

이 클래스는 문자열을 수정할 때 문자열 복사 및 새로운 문자열을 생성하는 과정을 최소화하여 성능을 향상시키고, 가변성(mutable)을 가지며 문자열을 동적으로 수정할 수 있게 해줍니다.