2023.06.15.THU

ronglong·2023년 6월 15일
0

[ 백준 ]

  • 11725번 트리의 부모 찾기
    : 트리 문제도 인접리스트와 DFS 이용하여 풀기.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;

public class Main {
    public static int N;
    public static boolean[] visited;
    public static ArrayList<Integer>[] tree;
    public static int[] answer;

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //선언

        //초기화
        N = Integer.parseInt(br.readLine());
        visited = new boolean[N + 1];
        tree = new ArrayList[N + 1];
        answer = new int[N + 1];

        for (int i = 0; i <= N; i++) {
            tree[i] = new ArrayList<>();
        }

        //트리 구성
        StringTokenizer stringTokenizer;
        for (int i = 1; i <= N - 1; i++) {
            stringTokenizer = new StringTokenizer(br.readLine());
            int S = Integer.parseInt(stringTokenizer.nextToken());
            int E = Integer.parseInt(stringTokenizer.nextToken());
            tree[S].add(E);
            tree[E].add(S);
        }

        //DFS
        DFS(1);
        for (int i = 2; i <= N; i++) {
            System.out.println(answer[i]);
        }
    }

    public static void DFS(int node) {
        visited[node] = true;
        for (int n : tree[node]) {
            if (!visited[n]) {
                answer[n] = node;
                DFS(n);
            }
        }
    }
}

[ 프로그래머스 ]

  • 3진법 뒤집기
    : 나는 검색을 통해 변환 방법을 찾아서 이용했으나, 다른 사람 풀이 보니까, 직접 나눠서 나머지를 이용하여 3진법으로 변환하는 방법이 있었다.
    https://cornarong.tistory.com/48
class Solution {
    public int solution(int n) {
        //3진법으로 변환
        String three = Integer.toString(n,3);
        //앞뒤 반전
        String reverse = "";
        for(int i=0; i<three.length(); i++){
            reverse += three.charAt(three.length()-1-i);
        }
        //10진법으로 리턴
        return Integer.parseInt(reverse, 3);
    }
}

0개의 댓글