분류 전체보기 257

Baekjoon11444: 피보나치 수 6

피보나치 수 6 1 초 256 MB 6900 3453 2837 53.498% 문제 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 된다. n=17일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 n이 주어진다. n은 1,000,000,000,000,000,000보다 작거나 같은 자연수이다. 출력 첫째 줄에 n번째 피보나치 ..

Study/Baekjoon 2021.12.26

Baekjoon10830: 행렬 제곱

행렬 제곱 1 초 256 MB 15959 5554 4450 34.247% 문제 크기가 N*N인 행렬 A가 주어진다. 이때, A의 B제곱을 구하는 프로그램을 작성하시오. 수가 매우 커질 수 있으니, A^B의 각 원소를 1,000으로 나눈 나머지를 출력한다. 입력 첫째 줄에 행렬의 크기 N과 B가 주어진다. (2 ≤ N ≤ 5, 1 ≤ B ≤ 100,000,000,000) 둘째 줄부터 N개의 줄에 행렬의 각 원소가 주어진다. 행렬의 각 원소는 1,000보다 작거나 같은 자연수 또는 0이다. 출력 첫째 줄부터 N개의 줄에 걸쳐 행렬 A를 B제곱한 결과를 출력한다. 풀이 B로 10을 입력받으면 어떻게 곱해야할까? 1629번 백준문제 곱셈에서 사용한 개념을 사용하면 다음과 같다 A의 10승 = 5승 x 5승 = ..

Study/Baekjoon 2021.12.26

Baekjoon1629: 곱셈

곱셈 0.5 초 (추가 시간 없음) 128 MB 51498 13513 9899 25.586% 문제 자연수 A를 B번 곱한 수를 알고 싶다. 단 구하려는 수가 매우 커질 수 있으므로 이를 C로 나눈 나머지를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다. 출력 첫째 줄에 A를 B번 곱한 수를 C로 나눈 나머지를 출력한다. 풀이 제한 시간은 0.5초이며 A와 B와 C의 범위는 정수형의 범위이다. 모듈러 연산을 사용한 방법? A = 10, B = 11, C = 12 라고 가정하면 다음처럼 분할해 모듈러 연산을 활용할 수 있다. 10의 11승 = (10의 5승)x(10의 5승)x10 (10의..

Study/Baekjoon 2021.12.25

Baekjoon1992: 쿼드트리

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

Study/Baekjoon 2021.12.24

Baekjoon1780: 종이의 개수

종이의 개수 2 초 256 MB 22744 13407 10069 58.763% 문제 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1 중 하나가 저장되어 있다. 우리는 이 행렬을 다음과 같은 규칙에 따라 적절한 크기로 자르려고 한다. 만약 종이가 모두 같은 수로 되어 있다면 이 종이를 그대로 사용한다. (1)이 아닌 경우에는 종이를 같은 크기의 종이 9개로 자르고, 각각의 잘린 종이에 대해서 (1)의 과정을 반복한다. 이와 같이 종이를 잘랐을 때, -1로만 채워진 종이의 개수, 0으로만 채워진 종이의 개수, 1로만 채워진 종이의 개수를 구해내는 프로그램을 작성하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 37, N은 3k 꼴)이 주어진다. 다음 N개의 줄에는 N개의 정수로 행렬이 ..

Study/Baekjoon 2021.12.23

Baekjoon2630: 색종이 만들기

색종이 만들기 1 초 128 MB 16961 11400 9363 69.639% 문제 아래 과 같이 여러개의 정사각형칸들로 이루어진 정사각형 모양의 종이가 주어져 있고, 각 정사각형들은 하얀색으로 칠해져 있거나 파란색으로 칠해져 있다. 주어진 종이를 일정한 규칙에 따라 잘라서 다양한 크기를 가진 정사각형 모양의 하얀색 또는 파란색 색종이를 만들려고 한다. 전체 종이의 크기가 N×N(N=2k, k는 1 이상 7 이하의 자연수) 이라면 종이를 자르는 규칙은 다음과 같다. 전체 종이가 모두 같은 색으로 칠해져 있지 않으면 가로와 세로로 중간 부분을 잘라서 의 I, II, III, IV와 같이 똑같은 크기의 네 개의 N/2 × N/2색종이로 나눈다. 나누어진 종이 I, II, III, IV 각각에 대해서도 앞에서..

Study/Baekjoon 2021.12.22

[SSAFY/싸피] 7기 비전공자 최종합격 후기

삼성 청년 SW 아카데미 졸업을 앞두고 취업 준비를 하고 있었습니다. 한국사 1급도 따고 토익도 공부하고... 전공에 1도 흥미를 못느꼈던 저는 이건 취업을 해도 문제다 싶었습니다 예전 재밌다고 생각한 프로그래밍 공부를 시작합니다. 그 때가 8월 25일이네요 ​ 그 이후로 아무것도 안하고 프로그래밍 언어, 알고리즘 공부를 하기 시작합니다 그렇게 혼자 공부하며 국비교육을 신청해놓고 SSAFY를 목표로 공부했습니다 ​ 지원 절차 ​ STEP 1. 지원서 접수 간단한 인적사항을 적었습니다 경력 사항하고 어학 성적 표기란은 있지만 구체적인 경험을 적는 곳은 없어서 당황했던 기억이 납니다 STEP 3. 인터뷰에서 경험을 잘 녹여야겠다 생각하고 적을 것만 적고 제출했습니다 ​​ STEP 2. SW 적성진단 + 에세..

Experience 2021.12.21

Baekjoon2110: 공유기 설치

공유기 설치 2 초 128 MB 30853 11897 8441 39.544% 문제 도현이의 집 N개가 수직선 위에 있다. 각각의 집의 좌표는 x1, ..., xN이고, 집 여러개가 같은 좌표를 가지는 일은 없다. 도현이는 언제 어디서나 와이파이를 즐기기 위해서 집에 공유기 C개를 설치하려고 한다. 최대한 많은 곳에서 와이파이를 사용하려고 하기 때문에, 한 집에는 공유기를 하나만 설치할 수 있고, 가장 인접한 두 공유기 사이의 거리를 가능한 크게 하여 설치하려고 한다. C개의 공유기를 N개의 집에 적당히 설치해서, 가장 인접한 두 공유기 사이의 거리를 최대로 하는 프로그램을 작성하시오. 입력 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈..

Study/Baekjoon 2021.12.20

Baekjoon2740: 행렬 곱셈

행렬 곱셈 1 초 128 MB 9128 6271 5414 70.476% 문제 N*M크기의 행렬 A와 M*K크기의 행렬 B가 주어졌을 때, 두 행렬을 곱하는 프로그램을 작성하시오. 입력 첫째 줄에 행렬 A의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 순서대로 주어진다. 그 다음 줄에는 행렬 B의 크기 M과 K가 주어진다. 이어서 M개의 줄에 행렬 B의 원소 K개가 차례대로 주어진다. N과 M, 그리고 K는 100보다 작거나 같고, 행렬의 원소는 절댓값이 100보다 작거나 같은 정수이다. 출력 첫째 줄부터 N개의 줄에 행렬 A와 B를 곱한 행렬을 출력한다. 행렬의 각 원소는 공백으로 구분한다. 풀이 (N X M 행렬) x (M X K 행렬) = (N X K 행렬) 이다 결과..

Study/Baekjoon 2021.12.19

Baekjoon2805: 나무 자르기

나무 자르기 1 초 256 MB 90310 26042 16188 25.656% 문제 상근이는 나무 M미터가 필요하다. 근처에 나무를 구입할 곳이 모두 망해버렸기 때문에, 정부에 벌목 허가를 요청했다. 정부는 상근이네 집 근처의 나무 한 줄에 대한 벌목 허가를 내주었고, 상근이는 새로 구입한 목재절단기를 이용해서 나무를 구할것이다. 목재절단기는 다음과 같이 동작한다. 먼저, 상근이는 절단기에 높이 H를 지정해야 한다. 높이를 지정하면 톱날이 땅으로부터 H미터 위로 올라간다. 그 다음, 한 줄에 연속해있는 나무를 모두 절단해버린다. 따라서, 높이가 H보다 큰 나무는 H 위의 부분이 잘릴 것이고, 낮은 나무는 잘리지 않을 것이다. 예를 들어, 한 줄에 연속해있는 나무의 높이가 20, 15, 10, 17이라고 ..

Study/Baekjoon 2021.12.17