문제 K번째 수 세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 Ai = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, B[k]를 구해보자. 배열 A와 B의 인덱스는 1부터 시작한다. 풀이
양과 늑대각 노드에 있는 양 또는 늑대에 대한 정보가 담긴 배열 info, 2진 트리의 각 노드들의 연결 관계를 담은 2차원 배열 edges가 매개변수로 주어질 때, 문제에 제시된 조건에 따라 각 노드를 방문하면서 모을 수 있는 양은 최대 몇 마리인지 return 하도
파괴되지 않는 건물건물의 내구도를 나타내는 2차원 정수 배열 board와 적의 공격 혹은 아군의 회복 스킬을 나타내는 2차원 정수 배열 skill이 매개변수로 주어집니다. 적의 공격 혹은 아군의 회복 스킬이 모두 끝난 뒤 파괴되지 않은 건물의 개수를 return하는 s
광고 삽입"죠르디"의 동영상 재생시간 길이 play_time, 공익광고의 재생시간 길이 adv_time, 시청자들이 해당 동영상을 재생했던 구간 정보 logs가 매개변수로 주어질 때, 시청자들의 누적 재생시간이 가장 많이 나오는 곳에 공익광고를 삽입하려고 합니다. 이때
후보키먼저 bit를 이용하여 가능한 한 모든 어트리뷰트의 조합을 구해줍니다.구한 부분집합을 통해 해당 부분집합으로 후보키가 될 수 있는지 check함수를 통해 구해줍니다. 여기서 최소성은 고려하지 않고 확인해 줬습니다. (최소성은 모든 후보키가 될 수 있는 조합을 구한
연료 채우기처음에 해당 문제를 풀때는 그래프를 이용해 풀어봤지만 역시 시간 복잡도 계산을 안하고 하니 바로 시간 초과가 나오게 됐다. 내가 그래프로 푼건 주유소를 들릴지 말지를 다 돌려보는 로직이라 조그만 계산해봐도 2^N의 시간복잡도를 가진다.여기서 이미 구한 최솟값
뮤탈리스크3개의 SCV에 공격을 하는 경우의 수는 6가지이다.이 6가지로 나올 수 있는 공격을 dfs로 구하고 공격해서 남은 scv의 체력들이 0이 될때까지 반복해준다.여기서 scv들의 체력들을 인덱스로 가지는 3차원 배열을 만들고해당 3차원 배열의 값으로는 scv가
중량제한처음에는 BFS만을 이용해 풀어봤지만 틀렸다.이 문제에서 중요한 점은 두가지 인 것 같다.1\. 서로 같은 두 섬 사이에 여러 개의 다리가 있을 수 있다.2\. 공장이 있는 두 섬을 연결하는 경로는 항상 존재한다.서로 같은 두섬 사이에 여러개의 다리가 존재하므로
문제 백준 - 사분면 풀이 문제에서 제시한 조각 번호를 통해 사분면에서 해당 조각번호가 어느 위치에 존재하는지 먼저 찾는다. 찾은 위치 (findx, findy) 와 입력으로 주어진 x값과 y값을 이용해 찾고자하는 조각 번호를 알아낼 수 있다. 조각번호가 어느 위치
최근 토스ㅣSLASH 22 - Effective Component 지속 가능한 성장과 컴포넌트 컴퍼런스를 통해 변경에 유연한 컴포넌트를 설계하는 법에 대해 배우게 되었다.영상을 참고하여 내 나름대로 Select 컴포넌트를 만드는데 성공했다. 해당 포스팅에서 변경에 유연
https://www.acmicpc.net/problem/2263입력으로 인오더와 포스트오더가 주어진다.인오더는 왼쪽 서브트리, 루트, 오른쪽 서브트리 순으로 방문하고 (LVR)포스트오더는 왼쪽 서브트리, 오른쪽 서브트리, 루트 순으로 방문한다.(LRV)다음과
https://www.acmicpc.net/problem/2873정답을 생각해 내기도 어렵고 생각했더라도 구현도 어려웠던 문제였다.먼저 든 생각은 모든 칸을 다 지나야 가장 큰 기쁨을 얻는게 아닌가? 였다. 그래서 R과 C가 나올 수 있는 경우((홀수,홀수)
https://www.acmicpc.net/status?user_id=dlwogns3413&problem_id=1201&from_mine=1간단해 보이지만 굉장히 어려운 문제였다. 해결 방법은 다음과 같다.먼저 1부터 N까지의 수를 오름차순으로 정렬한다. (N
https://www.acmicpc.net/problem/12970먼저 K로 알 수 있는 사실은 정답 문자열에서 A의 개수가 몇개인지이다.N=12이고 K=27일때 정답에서의 A개수를 어떻게 알 수 있을까?A가 1개라면 B는 11개가 되야하고 AB순서쌍의 최대개
https://www.acmicpc.net/problem/12015dp를 통해 답을 구하게 되면 시간 초과가 나오게 된다.dp로 구할경우 시간 복잡도가 O($$n^2$$)가 되므로 시간초과가 나오는건 당연하다.. 그러면 어떻게 구해야 할까?? 이는 이분탐색을
https://www.acmicpc.net/problem/2109강연들을 d를 기준으로 내림차순 정렬 해줍니다. 예를들어 다음과 같은 강연이 입력으로 들어오고 d를 기준으로 내림차순을 해준다면 다음과 같다.50 270 260 1이제 어떠한 날에 어떤 강연을 선
https://www.acmicpc.net/problem/1285각각의 행과 열을 어떨때 뒤집어야 최솟값이 나올지부터 생각해 보았다.일단 먼저 생각난 것은 i,j번째 동전의 행을 검사해 뒤집힌 동전 갯수보다 뒤집히지 않은 동전 갯수보다 적다면 해당 행을 뒤집어
N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다.N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오.퀸은 위, 아래, 왼쪽, 오른쪽, 대각선으로 이동가능하다. 즉 (x,y)에 퀸이 놓인다면 같은 열
수열 S가 주어졌을 때, 수열 S의 부분 수열의 합으로 나올 수 없는 가장 작은 자연수를 구하는 프로그램을 작성하시오.예를 들어, S = 5, 1, 2인 경우에 1, 2, 3(=1+2), 5, 6(=1+5), 7(=2+5), 8(=1+2+5)을 만들 수 있다. 하지만,
수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로