programmers Day6

Hwani·2024년 5월 11일

문제 - 문자열 뒤집기

풀이

class Solution {
    public String solution(String my_string) {
        StringBuilder sb = new StringBuilder(my_string);
        return sb.reverse().toString();
    }
}

설명

StringBuilder란?
StringBuilder는 Java에서 문자열을 조작할 때 사용되는 클래스입니다.
문자열의 변경이 빈번히 일어나는 경우, StringBuilder는 기존의 String 클래스보다 더 효율적이다.
그 이유는 String 클래스는 불변이라서 문자열이 변경될 때마다 새로운 문자열 객체가 생성되지만, StringBuilder는 가변적인 문자열을 제공하여 효율적으로 문자열을 변경할 수 있다.

StringBuilder의 주요 메서드

  • .append(): 문자열을 추가한다. (sb.append("bbb"), sb.append(4))
  • .insert(int offset, String str): offset 위치에 str을 추가한다. (sb.insert(2, "ccc"))
  • .replace(): 첫번째와 두번째 파라미터로 받는 숫자 인덱스에 위치한 문자열을 대체한다. (.replace(3, 6, "ye"))
  • .substring(int start, (int end)): 인덱싱. 파라미터가 하나라면 해당 인덱스부터 끝까지, 두개라면 시작점과 끝점-1 까지 인덱싱 (sb.substring(5), sb.substring(3, 7))
  • .deleteCharAt(int index): 인덱스에 위치한 문자 하나를 삭제한다. (sb.deleteCharAt(3))
  • .delete(int start, int end): start 부터 end-1 까지의 문자를 삭제한다. (sb.delete(3, sb.length()))
  • .toString(): String으로 변환한다. (sb.toString())
  • .reverse(): 해당 문자 전체를 뒤집는다. (sb.reverse())
  • .setCharAt(int index, String s): index 위치의 문자를 s로 변경
  • .setLength(int len): 문자열 길이 조정, 현재 문자열보다 길게 조정하면 공백으로 채워짐, 현재 문자열보다 짧게 조정하면 나머지 문자는 삭제
  • .trimToSize(): 문자열이 저장된 char[] 배열 사이즈를 현재 문자열 길이와 동일하게 조정, String 클래스의 trim()이 앞 뒤 공백을 제거하는 것과 같이 공백 사이즈를 제공하는 것, 배열의 남는 사이즈는 공백이므로, 문자열 뒷부분의 공백을 모두 제거해준다고 보면 됨

문제 - 직각삼각형 출력하기

풀이

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < i+1; j++) {
                System.out.print("*");
            }
            System.out.println();
        }

    }
}

문제 - 짝수 홀수 개수

풀이

class Solution {
    public int[] solution(int[] num_list) {
        int[] answer = new int[2];

        for (int num : num_list) {
            if (num % 2 == 0) {
                answer[0]++; 
            } else {
                answer[1]++; 
            }
        }

        return answer;
    }
}

문제 - 문자 반복 출력하기

풀이

class Solution {
    public String solution(String my_string, int n) {
        StringBuilder sb = new StringBuilder();
		
        // toCharArray는 문자열을 문자 배열로 반환
        for (char ch : my_string.toCharArray()) {
            for (int i = 0; i < n; i++) {
                sb.append(ch); 
            }
        }

        return sb.toString(); 
    }
}
profile
개발자될거야

0개의 댓글