본문 바로가기

PS/Baekjoon Online Judge607

[백준 05567] 결혼식 [Java] 문제상근이는 자신의 결혼식에 학교 동기 중 자신의 친구와 친구의 친구를 초대하기로 했다. 상근이의 동기는 모두 N명이고, 이 학생들의 학번은 모두 1부터 N까지이다. 상근이의 학번은 1이다.상근이는 동기들의 친구 관계를 모두 조사한 리스트를 가지고 있다. 이 리스트를 바탕으로 결혼식에 초대할 사람의 수를 구하는 프로그램을 작성하시오.입력첫째 줄에 상근이의 동기의 수 n (2 ≤ n ≤ 500)이 주어진다. 둘째 줄에는 리스트의 길이 m (1 ≤ m ≤ 10000)이 주어진다. 다음 줄부터 m개 줄에는 친구 관계 ai bi가 주어진다. (1 ≤ ai  ≤ n) ai와 bi가 친구라는 뜻이며, bi와 ai도 친구관계이다. 출력첫째 줄에 상근이의 결혼식에 초대하는 동기의 수를 출력한다.풀이상근이의 친구와, 친.. 2024. 7. 1.
[백준 22862] 가장 긴 짝수 연속한 부분 수열 (large) [Java] 문제길이가 𝑁인 수열 𝑆가 있다. 수열 𝑆는 1 이상인 정수로 이루어져 있다.수열 𝑆에서 원하는 위치에 있는 수를 골라 최대 𝐾번 삭제를 할 수 있다.수열 𝑆에서 최대 𝐾번 원소를 삭제한 수열에서 짝수로 이루어져 있는 연속한 부분 수열 중 가장 긴 길이를 구해보자.입력수열 𝑆의 길이 𝑁와 삭제할 수 있는 최대 횟수인 𝐾가 공백으로 구분되어 주어진다.두 번째 줄에는 수열 𝑆를 구성하고 있는 𝑁개의 수가 공백으로 구분되어 주어진다.출력수열 𝑆에서 최대 𝐾번 원소를 삭제한 수열에서 짝수로 이루어져 있는 연속한 부분 수열 중 가장 긴 길이를 출력한다.풀이최대 K개의 홀수를 포함한 구간에서 짝수로만 이루어진 부분수열의 가장 긴 길이를 구하면 되는 문제다.최대 K개의 홀수만큼 세어주자. 구.. 2024. 6. 30.
[백준 13144] List of Unique Numbers [Java] 문제길이가 N인 수열이 주어질 때, 수열에서 연속한 1개 이상의 수를 뽑았을 때 같은 수가 여러 번 등장하지 않는 경우의 수를 구하는 프로그램을 작성하여라.입력첫 번째 줄에는 수열의 길이 N이 주어진다. (1 ≤ N ≤ 100,000)두 번째 줄에는 수열을 나타내는 N개의 정수가 주어진다. 수열에 나타나는 수는 모두 1 이상 100,000 이하이다.출력조건을 만족하는 경우의 수를 출력한다.풀이중복되지 않는 요소로 이루어진 부분 수열의 갯수를 찾는 문제다.start와 end는 0부터 시작하며, end는 부분수열의 끝에 위치시켜주자.end번째 요소가 부분 수열이 가진 요소가 아닐 때 까지( visited[arr[end]] ) 방문 표시를하고 end를 늘려주자. 부분 수열이 가진 요소가 중복해서 나왔다면 탐색.. 2024. 6. 29.
[백준 05666] Hot Dogs [Python] 문제In 2012 a new world record was set in the famous Nathan’s Hot Dog Eating Competition: the champion, Joey Chestnut, ate 68 hot dogs in ten minutes, an amazing increase from the 62 hot dogs eaten by the same Chestnut in 2011.Nathan’s Famous Corporation, in Brooklyn, NY, is responsible for the contest. They make delicious hot dogs, famous worldwide, but when it comes to math they are not so good... 2024. 6. 28.
[백준 05613] 계산기 프로그램 [Python] 문제덧셈, 뺄셈, 곱셈, 나눗셈을 할 수 있는 계산기 프로그램을 만드시오.입력입력의 각 줄에는 숫자와 +, -, *, /, =중 하나가 교대로 주어진다. 첫 번째 줄은 수이다. 연산자의 우선 순위는 생각하지 않으며, 입력 순서대로 계산을 하고, =가 주어지면, 그때까지의 결과를 출력한다. 주어지는 수는 108 이하의 양의 정수이다. 계산 중 결과는 0 또는 음수가 될 수 있지만, -108 ~ 108 범위를 넘지는 않는다. 또, 나눗셈에서 소수점은 버린다. 따라서, 100/3*3 = 99이다.피제수가 음수일 때 나눗셈을 하는 경우는 입력으로 주어지지 않는다.출력첫째 줄에 계산 결과를 출력한다.풀이단순한 사칙연산 문제다. '='을 입력받을 때까지 수식은 계속된다.나누는 경우에만 소수점을 버린다는 점에 유의하.. 2024. 6. 27.
[백준 05612] 터널의 입구와 출구 [Python] 문제상근이는 남산1호터널의 입구와 출구에서 1분에 통과하는 차량의 수를 조사했다. 이때, 터널에 차량이 가장 많이 있었을 때, 몇 대 있었는지 구하는 프로그램을 작성하시오.입력첫째 줄에 조사한 시간 n이 주어진다. 둘째 줄에는 조사를 시작할 때, 터널 안에 들어있는 차량의 수 m이 주어진다. 다음 n개 줄의 i번째 줄(i = 1 ~ n)의 정보는 조사를 시작한지 (i-1)분이 경과한 시점부터 i분 경과할 때 까지 1분에 입구를 통과한 차의 수와 출구를 통과한 차의 수이다. n은 10000보다 작거나 같고, 1분에 통과하는 차량의 수는 100이하이다.출력조사 시작하고 j분이 지난 시점 (j = 0~n)에서 터널 안에 있는 차량의 수를 Sj라고 하자. 이때, Sj의 최댓값을 출력한다. 만약, 터널 안에 있는.. 2024. 6. 27.