ps
13 posts
🅿️ [Programmers] 섬 연결하기

Programmers 섬 연결하기 문제 문제 설명 Programmers - 섬 연결하기 n개의 섬 사이에 다리를 건설하는 비용(costs)이 주어질 때, 최소의 비용으로 모든 섬이 서로 통행 가능하도록 만들 때 필요한 최소 비용을 return 하도록 solution을 완성하세요. 다리를 여러 번 건너더라도, 도달할 수만 있으면 통행 가능하다고 봅니다. 예를 들어 A 섬과 B 섬 사이에 다리가 있고, B 섬과 C 섬 사이에 다리가 있으면 A 섬과 C 섬은 서로 통행 가능합니다. 입력 n개의 섬 사이에 다리를 건설하는 비용(costs) n costs return 4 [0,1,1,0,2,2,1,2,5,1,3,1,2,3,8]…

February 28, 2022
ps
programmers
🅿️ [Programmers] 완전탐색 소수 찾기

Programmers 완전탐색 소수 찾기 문제 문제 설명 Programmers - 완전탐색 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 입력 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers numbers return “17” 3 “011” 2 출력 종이 조각으로 만들 수 있는 소수가 몇 개인지 출력한다. 제한 numbers는 길이 1 이상 7 이하인 문…

February 04, 2022
ps
programmers
🅱️ [BOJ] 1937 욕심쟁이 판다

BOJ 1937 욕심쟁이 판다 문제 문제 설명 Baekjoon Online Judge - 1937번 욕심쟁이 판다 n × n의 크기의 대나무 숲이 있다. 욕심쟁이 판다는 어떤 지역에서 대나무를 먹기 시작한다. 그리고 그 곳의 대나무를 다 먹어 치우면 상, 하, 좌, 우 중 한 곳으로 이동을 한다. 그리고 또 그곳에서 대나무를 먹는다. 그런데 단 조건이 있다. 이 판다는 매우 욕심이 많아서 대나무를 먹고 자리를 옮기면 그 옮긴 지역에 그 전 지역보다 대나무가 많이 있어야 한다. 이 판다의 사육사는 이런 판다를 대나무 숲에 풀어 놓아야 하는데, 어떤 지점에 처음에 풀어 놓아야 하고, 어떤 곳으로 이동을 시켜야 판다가 최대…

January 16, 2022
ps
baekjoon
🅱️ [BOJ] 1701 Cubeditor

BOJ 1701 Cubeditor 문제 문제 설명 Baekjoon Online Judge - 1701번 Cubeditor Cubelover는 프로그래밍 언어 Whitespace의 코딩을 도와주는 언어인 Cubelang을 만들었다. Cubelang을 이용해 코딩을 하다보니, 점점 이 언어에 맞는 새로운 에디터가 필요하게 되었다. 오랜 시간 고생한 끝에 새로운 에디터를 만들게 되었고, 그 에디터의 이름은 Cubeditor이다. 텍스트 에디터는 찾기 기능을 지원한다. 대부분의 에디터는 찾으려고 하는 문자열이 단 한 번만 나와도 찾는다. Cubelover는 이 기능은 Cubelang에 부적합하다고 생각했다. Cubelang에…

January 04, 2022
ps
baekjoon
🅱️ [BOJ] 13013 접미사 배열

BOJ 13013 접미사 배열 문제 문제 설명 Baekjoon Online Judge - 13013번 접미사 배열 문자열 S의 i번째 접미사는 S의 i번째 글자에서 시작하는 접미사(Suffix)이다. 예를 들어, S = “abcde”인 경우에 0번째 접미사는 “abcde”, 3번째 접미사는 “de” 이다. S의 접미사 배열은 S의 모든 접미사를 사전 순으로 정렬한 배열이다. 이때, 배열에 들어있는 값은 접미사 번호이고, 정렬은 접미사 번호에 해당하는 접미사로 수행하게 된다. 예를 들어, S = “abca”인 경우에 접미사 배열은 (3, 0, 1, 2)가 된다. 길이가 N인 접미사 배열이 주어졌을 때, 그 접미사 배열을…

December 15, 2021
ps
baekjoon
🅱️ [BOJ] 5052 전화번호 목록

BOJ 5052 전화번호 목록 문제 문제 설명 Baekjoon Online Judge - 5052번 전화번호 목록 전화번호 목록이 주어진다. 이때, 이 목록이 일관성이 있는지 없는지를 구하는 프로그램을 작성하시오. 전화번호 목록이 일관성을 유지하려면, 한 번호가 다른 번호의 접두어인 경우가 없어야 한다. 예를 들어, 전화번호 목록이 아래와 같은 경우를 생각해보자 긴급전화: 911 상근: 97 625 999 선영: 91 12 54 26 이 경우에 선영이에게 전화를 걸 수 있는 방법이 없다. 전화기를 들고 선영이 번호의 처음 세 자리를 누르는 순간 바로 긴급전화가 걸리기 때문이다. 따라서, 이 목록은 일관성이 없는 목록이…

December 14, 2021
ps
baekjoon
🅱️ [BOJ] 21609 상어 중학교

BOJ 21609 상어 중학교 문제 문제 설명 Baekjoon Online Judge - 21609번 상어 중학교 상어 중학교의 코딩 동아리에서 게임을 만들었다. 이 게임은 크기가 N×N인 격자에서 진행되고, 초기에 격자의 모든 칸에는 블록이 하나씩 들어있고, 블록은 검은색 블록, 무지개 블록, 일반 블록이 있다. 일반 블록은 M가지 색상이 있고, 색은 M이하의 자연수로 표현한다. 검은색 블록은 -1, 무지개 블록은 0으로 표현한다. (i, j)는 격자의 i번 행, j번 열을 의미하고, |r1 - r2| + |c1 - c2| = 1을 만족하는 두 칸 (r1, c1)과 (r2, c2)를 인접한 칸이라고 한다. 블록 그룹…

December 08, 2021
ps
baekjoon
🅱️ [BOJ] 1799 비숍

BOJ 1799 비숍 문제 문제 설명 Baekjoon Online Judge - 1799번 비숍 서양 장기인 체스에는 대각선 방향으로 움직일 수 있는 비숍(bishop)이 있다. < 그림 1 >과 같은 정사각형 체스판 위에 B라고 표시된 곳에 비숍이 있을 때 비숍은 대각선 방향으로 움직여 O로 표시된 칸에 있는 다른 말을 잡을 수 있다. 그런데 체스판 위에는 비숍이 놓일 수 없는 곳이 있다. < 그림 2 >에서 체스판에 색칠된 부분은 비숍이 놓일 수 없다고 하자. 이와 같은 체스판에 서로가 서로를 잡을 수 없도록 하면서 비숍을 놓는다면 < 그림 3 >과 같이 최대 7개의 비숍을 놓을 수 있다. 색칠된 부분에는 비숍이…

December 08, 2021
ps
baekjoon
🅱️ [BOJ] 2023 신기한 소수

BOJ 2023 신기한 소수 문제 문제 설명 Baekjoon Online Judge - 2023번 신기한 소수 수빈이가 세상에서 가장 좋아하는 것은 소수이고, 취미는 소수를 가지고 노는 것이다. 요즘 수빈이가 가장 관심있어 하는 소수는 7331이다. 7331은 소수인데, 신기하게도 733도 소수이고, 73도 소수이고, 7도 소수이다. 즉, 왼쪽부터 1자리, 2자리, 3자리, 4자리 수 모두 소수이다! 수빈이는 이런 숫자를 신기한 소수라고 이름 붙였다. 수빈이는 N자리의 숫자 중에서 어떤 수들이 신기한 소수인지 궁금해졌다. N이 주어졌을 때, 수빈이를 위해 N자리 신기한 소수를 모두 찾아보자. 입력 첫째 줄에 N(1 ≤…

December 07, 2021
ps
baekjoon
🅱️ [백준] 1790 - 수 이어 쓰기2

백준 1790 - 수 이어 쓰기2 문제 문제 설명 Baekjoon Online Judge - 1790번 수 이어 쓰기2 1부터 N까지의 수를 이어서 쓰면 다음과 같이 새로운 하나의 수를 얻을 수 있다. 1234567891011121314151617181920212223… 이렇게 만들어진 새로운 수에서, 앞에서 k번째 자리 숫자가 어떤 숫자인지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 100,000,000)과, k(1 ≤ k ≤ 1,000,000,000)가 주어진다. N과 k 사이에는 공백이 하나 이상 있다. 출력 첫째 줄에 앞에서 k번째 자리 숫자를 출력한다. 수의 길이가 k보다 작아서 k번째…

July 30, 2021
ps
baekjoon
🅿️ [2018 KAKAO BLIND RECRUITMENT] 프렌즈4블록

2018 KAKAO BLIND RECRUITMENT 프렌즈4블록 문제 문제 설명 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 “프렌즈4블록”. 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙어있을 경우 사라지면서 점수를 얻는 게임이다. 만약 판이 위와 같이 주어질 경우, 라이언이 2×2로 배치된 7개 블록과 콘이 2×2로 배치된 4개 블록이 지워진다. 같은 블록은 여러 2×2에 포함될 수 있으며, 지워지는 조건에 만족하는 2×2 모양이 여러 개 있다면 한꺼번에 지워진다. 블록이 지워진 후에 위에 있는 블록이 아래로 떨어져 빈 공간을 채우게 된…

July 26, 2021
ps
programmers
🅿️ [프로그래머스] 탐욕법(Greedy) - 큰 수 만들기

프로그래머스 탐욕법(Greedy) - 큰 수 만들기 문제 문제 설명 어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다. 예를 들어, 숫자 1924에서 수 두 개를 제거하면 19, 12, 14, 92, 94, 24 를 만들 수 있습니다. 이 중 가장 큰 숫자는 94 입니다. 문자열 형식으로 숫자 number와 제거할 수의 개수 k가 solution 함수의 매개변수로 주어집니다. number에서 k 개의 수를 제거했을 때 만들 수 있는 수 중 가장 큰 숫자를 문자열 형태로 return 하도록 solution 함수를 완성하세요. 제한 사항 number는 1자리 이상, 1,000,000자리 …

July 01, 2021
ps
programmers
🅿️ [프로그래머스] 정렬 - 가장 큰 수

프로그래머스 정렬 - 가장 큰 수 문제 문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 6, 10, 2라면 6102, 6210, 1062, 1026, 2610, 2106를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한 사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다…

June 30, 2021
ps
programmers