반응형

분류 전체보기 37

백준 8320 : 직사각형을 만드는 방법 Java

www.acmicpc.net/problem/8320 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 1 초 256MB 3417 1954 1728 58.976% 문제 상근이는 변의 길이가 1인 정사각형 n개를 가지고 있다. 이 정사각형을 이용해서 만들 수 있는 직사각형의 개수는 총 몇 개일까? 두 직사각형 A와 B가 있을 때, A를 이동, 회전시켜서 B를 만들 수 없으면, 두 직사각형은 다르다고 한다. 직사각형을 만들 때, 정사각형을 변형시키거나, 한 정사각형 위에 다른 정사각형을 놓을 수 없다. 또, 직사각형은 정사각형으로 꽉 차있어야 한다. 입력 첫째 줄에 n (1 ≤ n ≤ 10,000)이 주어진다. 출력 만들 수 있는 직사각형의 개수를 출력한다. 힌트 예제 입력 예제 출력 6 8 풀이 과정 ..

알고리즘/백준 2023.07.12

백준 11399 : ATM Java

www.acmicpc.net/problem/11399 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 1 초 256 MB 36343 23367 19412 65.550% 문제 인하 은행에는 ATM이 1대밖에 없다. 지금 이 ATM 앞에 N명의 사람들이 줄을 서있다. 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 Pi분이다. 사람들이 줄을 서는 순서에 따라서, 돈을 인출하는데 필요한 시간의 합이 달라지게 된다. 예를 들어, 총 5명이 있고, P1 = 3, P2 = 1, P3 = 4, P4 = 3, P5 = 2 인 경우를 생각해보자. [1, 2, 3, 4, 5] 순서로 줄을 선다면, 1번 사람은 3분 만에 돈을 뽑을 수 있다. 2번 사람은 1번 사람이 돈을 ..

알고리즘/백준 2023.07.11

백준 4963: 섬의 개수 Java

문제 보기 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 1 초 128 MB 28583 14337 10366 49.353% 문제 정사각형으로 이루어져 있는 섬과 바다 지도가 주어진다. 섬의 개수를 세는 프로그램을 작성하시오. 한 정사각형과 가로, 세로 또는 대각선으로 연결되어 있는 사각형은 걸어갈 수 있는 사각형이다. 두 정사각형이 같은 섬에 있으려면, 한 정사각형에서 다른 정사각형으로 걸어서 갈 수 있는 경로가 있어야 한다. 지도는 바다로 둘러싸여 있으며, 지도 밖으로 나갈 수 없다. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도가 주어..

알고리즘/백준 2023.07.10

백준 1987 : 알파벳 Java

문제 보기 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 2 초 256 MB 46386 14809 9055 29.611% 문제 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으로 이동할 수 있는데, 새로 이동한 칸에 적혀 있는 알파벳은 지금까지 지나온 모든 칸에 적혀 있는 알파벳과는 달라야 한다. 즉, 같은 알파벳이 적힌 칸을 두 번 지날 수 없다. 좌측 상단에서 시작해서, 말이 최대한 몇 칸을 지날 수 있는지를 구하는 프로그램을 작성하시오. 말이 지나는 칸은 좌측 상단의 칸도 포함된다. 입력 첫째 줄에 R과 C가 빈칸을 사이에 두고 주어진다..

알고리즘/백준 2023.07.09

백준 15686 : 치킨배달 Java

문제 보기 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 1 초 512MB 32609 15109 8559 42.138% 문제 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸, 왼쪽에서부터 c번째 칸을 의미한다. r과 c는 1부터 시작한다. 이 도시에 사는 사람들은 치킨을 매우 좋아한다. 따라서, 사람들은 "치킨 거리"라는 말을 주로 사용한다. 치킨 거리는 집과 가장 가까운 치킨집 사이의 거리이다. 즉, 치킨 거리는 집을 기준으로 정해지며, 각각의 집은 치킨 거리를 가지고 있다. 도시의 치킨 거리는 모든 집의 치킨 거리의 합이다. 임의..

알고리즘/백준 2023.07.08

백준 1992 : 쿼드트리 Java

문제 보기 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 2 초 128 MB 17378 10282 8111 58.903% 문제 흑백 영상을 압축하여 표현하는 데이터 구조로 쿼드 트리(Quad Tree)라는 방법이 있다. 흰 점을 나타내는 0과 검은 점을 나타내는 1로만 이루어진 영상(2차원 배열)에서 같은 숫자의 점들이 한 곳에 많이 몰려있으면, 쿼드 트리에서는 이를 압축하여 간단히 표현할 수 있다. 주어진 영상이 모두 0으로만 되어 있으면 압축 결과는 "0"이 되고, 모두 1로만 되어 있으면 압축 결과는 "1"이 된다. 만약 0과 1이 섞여 있으면 전체를 한 번에 나타내지를 못하고, 왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래, 이렇게 4개의 영상으로 나누어 압축하게 되며, 이 4개의 영역..

알고리즘/백준 2023.07.07

두 수의 합 Java

두 수의 합 문제 설명 정수 num1과 num2가 주어질 때, num1과 num2의 합을 return 하도록 soltuion 함수를 완성해 주세요. 제한사항 50,000 ≤ num1 ≤ 50,000 50,000 ≤ num2 ≤ 50,000 입출력 예 num1 num2 result 2 3 5 100 2 102 입출력 예 설명 입출력 예 #1 num1이 2이고 num2가 3이므로 2 + 3 = 5를 return 합니다. 입출력 예 #2 num1이 100이고 num2가 2이므로 100 + 2 = 102를 return 합니다. 코드 class Solution { public int solution(int num1, int num2) { int answer = num1+num2; return answer; } }..

백준 2146 : 다리만들기 Java

문제 보기 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 2 초 192MB 21557 7590 4753 33.129% 문제 여러 섬으로 이루어진 나라가 있다. 이 나라의 대통령은 섬을 잇는 다리를 만들겠다는 공약으로 인기몰이를 해 당선될 수 있었다. 하지만 막상 대통령에 취임하자, 다리를 놓는다는 것이 아깝다는 생각을 하게 되었다. 그래서 그는, 생색내는 식으로 한 섬과 다른 섬을 잇는 다리 하나만을 만들기로 하였고, 그 또한 다리를 가장 짧게 하여 돈을 아끼려 하였다. 이 나라는 N×N크기의 이차원 평면상에 존재한다. 이 나라는 여러 섬으로 이루어져 있으며, 섬이란 동서남북으로 육지가 붙어있는 덩어리를 말한다. 다음은 세 개의 섬으로 이루어진 나라의 지도이다. 위의 그림에서 색이 있는 부분이 ..

알고리즘/백준 2023.07.06

두 수의 차 Java

두 수의 차 문제 설명 정수 num1과 num2가 주어질 때, num1에서 num2를 뺀 값을 return하도록 soltuion 함수를 완성해주세요. 제한사항 50000 ≤ num1 ≤ 50000 50000 ≤ num2 ≤ 50000 입출력 예 num1 num2 result 2 3 -1 100 2 98 입출력 예 설명 입출력 예 #1 num1이 2이고 num2가 3이므로 2 - 3 = -1을 return합니다. 입출력 예 #2 num1이 100이고 num2가 2이므로 100 - 2 = 98을 return합니다. 코드 class Solution { public int solution(int num1, int num2) { int answer = num1 - num2; return answer; } } 풀이..

두 수의 곱 Java

두 수의 곱 문제 설명 정수 num1, num2가 매개변수 주어집니다. num1과 num2를 곱한 값을 return 하도록 solution 함수를 완성해주세요. 제한사항 0 ≤ num1 ≤ 100 0 ≤ num2 ≤ 100 입출력 예 num1 num2 result 3 4 12 27 19 513 입출력 예 설명 입출력 예 #1 num1이 3, num2가 4이므로 3 * 4 = 12를 return합니다. 입출력 예 #2 num1이 27, num2가 19이므로 27 * 19 = 513을 return합니다. 코드 (Java) class Solution { public int solution(int num1, int num2) { int answer = num1 * num2; return answer; } } 풀..

반응형