23년 5월 1일 [알고리즘 - 자료구조]

sua·2023년 4월 30일
0

알고리즘 가보자고

목록 보기
13/101

백준 11655번 ROT13

문제


나의 풀이

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        
        for(char c : s.toCharArray()) {
            if(c >= 'A' && c <= 'Z') { // 대문자인 경우
                c += 13;
                if(c > 'Z') { // 13 더했는데 범위 넘어가는 경우
                    c -= 26; 
                }
            } else if(c >= 'a' && c <= 'z') { // 소문자인 경우
                c += 13;
                if(c > 'z') {
                    c -= 26;
                }
            }
            System.out.print(c);
        }
    }
}

문자열을 for문을 돌려서 문자가 대문자나 소문자인 경우 13을 더해주고 범위가 넘어가는 경우에는 26을 빼서 범위 안에 속하도록 하고 그렇게 계산된 문자를 출력시키게 구현하였다.

결과


백준 10824번 네 수

문제

나의 풀이

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        long a = sc.nextInt();
        long b = sc.nextInt();
        long c = sc.nextInt();
        long d = sc.nextInt();
        
        long answer1 = Long.valueOf(a + String.valueOf(b));
        long answer2 = Long.valueOf(c + String.valueOf(d));
        System.out.println(answer1 + answer2);
    }
}

입력 받은 a와 b를 문자열로 바꿔주고 둘을 합쳐서 다시 long으로 형변환시켜서 answer1에 저장한다. 입력 받은 c와 d를 문자열로 바꿔주고 둘을 합쳐서 다시 long으로 형변환 시켜서 answer2에 저장한다. 이 두 수를 더한 값을 출력해주면 된다.

결과


백준 11656번 접미사 배열

문제


나의 풀이

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();

        String arr[] = new String[s.length()];
        for(int i = 0; i < s.length(); i++) {
            arr[i] = s.substring(i);
        }

        Arrays.sort(arr);
        for(int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
}

입력 받은 문자열을 i는 0부터 문자열의 길이만큼 for문을 돌려서 arr 문자열 배열에 문자열을 i부터 substring한 값을 저장시켜서 arr 배열을 정렬시키고 난 뒤에 이를 출력시키게 하면 된다.

결과

profile
가보자고

0개의 댓글