본문 바로가기

공부/알고리즘49

[백준]1043_거짓말 Java 풀이 사이트 링크 1043번: 거짓말 1043번: 거짓말 지민이는 파티에 가서 이야기 하는 것을 좋아한다. 파티에 갈 때마다, 지민이는 지민이가 가장 좋아하는 이야기를 한다. 지민이는 그 이야기를 말할 때, 있는 그대로 진실로 말하거나 엄청나게 www.acmicpc.net 개념 및 풀이 유니온파인드를 이용한 문제. 진실을 아는 사람들을 같은 그룹으로 묶어줌(union) 같은 파티에 있는 사람들을 같은 그룹으로 묶어줌(union) 이 과정에서 진실을 아는 사람이 있는 파티는 알아서 진실을 아는 그룹과 같이 될 것임 파티를 돌면서 진실을 아는 한 사람과 해당 파티가 같이 묶여있는지 확인 코드 package UnionFind; import java.io.BufferedReader; import java.io.IOE.. 2023. 12. 1.
[프로그래머스]PCCP 기출 2번 Java 풀이(반례 포함) 사이트 링크 https://school.programmers.co.kr/learn/courses/19344/lessons/242259 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 개념 및 풀이 석유 덩어리의 크기를 각 칸에 저장(visit[][]) 같은 덩어리인지의 표기를 위해 layer[][]를 통해 덩어리 숫자 표기 이중 for문 돌면서 덩어리 크기와, 같은 덩어리인지 다른덩어리인지 확인 후 값 더하기 - 반례 land(int[][]) Return [[0,0,1,1,0],[0,0,0,0,0],[1,1,1,0,0],[0,0,1,0,0],[1,1,1,0.. 2023. 10. 26.
[백준]9095_1,2,3 더하기_Java 풀이 사이트 링크 9095번: 1, 2, 3 더하기 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 개념 및 풀이 1,2,3을 이용해 만드는 것이므로 이전의 것들에 1,2,3씩 더한 값은 해당 값이 되는 것을 이용한다. 코드 package DP; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main_9095 { public static void main(String[] args) throws IOException { BufferedReader br = new Buffer.. 2023. 10. 25.
[백준]11724_연결 요소의 개수_BFS Java 풀이(반례 포함) 사이트 링크 11724번: 연결 요소의 개수 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주어 www.acmicpc.net 개념 및 풀이 그래프의 정점만큼 for문을 돌면서 BFS로 탐색하여 그 정점과 이어졌는지 확인한다. visit[] : 이미 이어졌는지 확인했다면 1, 아니면 0 for문 아직 이어지지 않은 정점이라면 - 정점과 이어진 정점 확인하는 bfs() 함수 이을 수 있는 모든 정점 잇기 이을수 있는 것 다 이었는데도 안이어진 정점은 같은 무리에 속하지 않는 것-> .. 2023. 9. 12.