Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

김미서 / 10월 4주차 / 월 #297

Merged
merged 3 commits into from
Oct 29, 2023
Merged

Conversation

seomiii
Copy link
Contributor

@seomiii seomiii commented Oct 23, 2023


🎈boj 12919 - A와B 2


🗨 해결방법 :


✔코드 :

import java.io.*;
import java.util.*;
public class BOJ12919_A와B2 {
    static String S,T;
    static boolean result;
    static StringBuilder sb;
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        sb = new StringBuilder();
        S = br.readLine();
        T = br.readLine();
        result = false;
        solve(T);
        if (result){
            System.out.println(1);
        }else{
            System.out.println(0);
        }
    }

    private static void solve(String t){
        // System.out.println(t);
        if (t.length() == S.length()){
            if (t.equals(S)){
                result=true;
            }
            return;
        }

        int len = t.length();
        // A를 붙였다면
        if ( t.charAt(len-1) == 'A'){
            solve(t.substring(0, len-1));
        }

        // B를 붙였다면
        if ( t.charAt(0) == 'B' ){
            sb.append(t);
            String temp = "";
            temp = sb.reverse().toString();
            temp = temp.substring(0,len-1);
            solve(temp);
        }
    }
}


🎈boj 10159 - 저울


🗨 해결방법 :


- 큰 애들로 이어진 그래프, 작은 애들로 이어진 그래프 2개로 운영하기 - visited 배열은 같은 그래프 사용하기 - 이어진 개수를 구해서 최종 개수에서 빼주기!!

✔코드 :

import java.io.*;
import java.util.*;

// 무게가 서로 다른 n개의 물건 , 1~n
// 각 물건에 대해서 그 물건과의 비교 결과를 알 수 없는 물건의 개수

// 5 <= 물건의 개수 n <= 100
// 0<= 물건 쌍의 개수 m <= 2000
public class BOJ10159_저울 {
    // 큰 애들로 이어진 그래프, 작은 애들로 이어진 그래프 2개로 운영하기
    // visited 배열은 같은 그래프 사용하기
    // 이어진 개수를 구해서 최종 개수에서 빼주기!!
    static ArrayList<ArrayList<Integer>> biggerList, smallerList;
    static boolean[] visited;
    static int N,M;
    static int cnt;
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        N = Integer.parseInt(br.readLine());
        M = Integer.parseInt(br.readLine());

        biggerList = new ArrayList<>();
        smallerList = new ArrayList<>();

        for (int i=0; i<=N; i++){
            biggerList.add(new ArrayList<>());
            smallerList.add(new ArrayList<>());
        }

        for (int i=0; i<M; i++){
            StringTokenizer st = new StringTokenizer(br.readLine());
            int big = Integer.parseInt(st.nextToken());
            int small = Integer.parseInt(st.nextToken());
            // System.out.println(big+" "+small);
            biggerList.get(big).add(small);
            smallerList.get(small).add(big);
        }

        for (int i=1; i<=N; i++){ // 각각 정점
            visited = new boolean[N+1];
            visited[i] = true;
            cnt = 0;
            dfs(i, biggerList);
            dfs(i, smallerList);
            System.out.println(N - cnt -1);
        }
    }

    private static void dfs(int cur, ArrayList<ArrayList<Integer>> list){
        ArrayList<Integer> links = list.get(cur);
        int len = links.size();

        for (int i=0; i<len; i++){
            int link = links.get(i);
            if (!visited[link]){ // 방문하지 않았으면
                visited[link] = true;
                cnt++;
                dfs(link, list);
            }
        }

    }
}

@seomiii seomiii requested review from MadCom96 and hgene0929 October 23, 2023 11:43
@seomiii seomiii changed the title Master 10월 4주차 / 김미서 / 월 Oct 23, 2023
@seomiii seomiii changed the title 10월 4주차 / 김미서 / 월 김미서 / 10월 4주차 / 월 Oct 23, 2023
@seomiii seomiii merged commit 3dc1907 into SSAFY-10th-Seoul17:main Oct 29, 2023
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants