profile
Studying Computer Science
post-thumbnail

BFS - 특정거리의 도시 찾기

어떤 나라에는 1 ~ N번까지의 도시와 M개의 단방향 도로가 존재한다. 모든 도로의 거리는 1이다.특정한 도시 X로부터 출발하여 도달할 수 있는 모든 도시 중에서, 최단거리가 정확히 K인 모든 도시의 번호를 출력하는 프로그램을 작성하라.출발 도시 X에서 출발 도시 X로

약 11시간 전
·
0개의 댓글
post-thumbnail

Greedy - 숫자 카드 게임

숫자 카드 게임은 여러 개의 카드 중에서 가장 높은 숫자가 쓰인 카드 한 장을 뽑는 게임이다.단, 게임의 룰을 지키며 카드를 뽑아야 하고 룰은 다음과 같다.숫자가 쓰인 카드들이 N x M 형태로 놓여 있다. 이때 N은 행의 개수를 의미하며, M은 열의 개수를 의미한다.

2일 전
·
0개의 댓글
post-thumbnail

Greedy - 큰 수의 법칙

큰 수의 법칙은 다양한 수로 이루어진 배열이 있을 때 주어진 수들을 M번 더하여 가장 큰 수를 만드는 법칙이다.단, 배열의 특정한 인덱스(번호)에 해당하는 수가 연속해서 K번을 초과하여 더해질 수 없는 것이 이 법칙의 특징이다.입력값 2,4,5,4,6에서 M이 8이고,

2일 전
·
0개의 댓글
post-thumbnail

마법사 상어와 토네이도

백준

3일 전
·
0개의 댓글
post-thumbnail

88. House Robber

리트코드당신은 전문털이범이다. 어느집에서든 돈을 훔쳐올 수 있지만 경보 시스템 때문에 바로 옆집은 훔칠 수 없고, 한 칸 이상 떨어진 집만 가능하다.각 집에는 훔칠 수 있는 돈의 액수가 입력값으로 표기되어 있다. 훔칠 수 있는 가장 큰 금액을 출력하라.이런 유형의 문제

2021년 6월 9일
·
0개의 댓글
post-thumbnail

87. Climbing Stairs

리트코드당신은 계단을 오르고 있다. 정상에 도달하기 위해 n계단을 올라야 한다.매번 각각 1계단 또는 2계단씩 오를 수 있다면 정상에 도달하기 위한 방법은 몇가지 경로가 되는지 계산하라.언뜻 생각해보면 풀이가 쉽지 않다. 모든 경우의 수를 다 찾아야 한다니 상당히 풀기

2021년 6월 9일
·
0개의 댓글
post-thumbnail

86. Maximum Subarray

리트코드합이 최대가 되는 연속 서브 배열을 찾아 합을 리턴하라.언뜻 투 포인터 문제인가 하는 생각이 들 수 있다. 그런데, 왼쪽 포인터가 -2이고, 오른쪽 포인터가 4라고 했을 때, 그 사잇값이 최대가 되기 위해서는 음수를 지나치는 방식으로 알고리즘을 구현해야 하는데,

2021년 6월 8일
·
0개의 댓글
post-thumbnail

84. Different Ways to Add Parentheses

리트코드숫자와 연산자를 입력받아 가능한 모든 조합의 결과를 출력하라괄호를 어디에 추가하느냐에 따라 다양한 조합이 가능하다. 모든 조합을 계산해야 하는데 이는 다음과 같이 분할 정복으로 가능하다.\*, -, + 연산자가 등장할 때 좌/우 분할을 하고 각각 계산 결과를 리

2021년 6월 5일
·
0개의 댓글
post-thumbnail

83. Majority Element

리트코드과반수를 차지하는(절반을 초과하는) 엘리먼트를 출력하라.앞에서부터 하나씩 과반수를 넘는지 일일이 체크하다가 과반수를 넘으면 바로 정답으로 처리한다.아쉽게도 타임아웃이 발생한다.브루트 포스를 다이나믹 프로그래밍으로 최적화해보자.nums.count()로 한 번 카운

2021년 6월 4일
·
0개의 댓글
post-thumbnail

82. Assign Cookies

리트코드아이들에게 1개씩 쿠키를 나눠줘야 한다. 각 아이 child_i마다 그리드 팩터(GreedFactor) gi를 갖고 있으며, 이는 아이가 만족하는 최소 쿠키의 크기를 말한다.각 쿠키 cookie_j는 크기 sj를 갖고 있으며, sj >= gi이어야 아이가 만족하

2021년 6월 3일
·
0개의 댓글
post-thumbnail

81. Gas Station

리트코드원형으로 경로가 연결된 주유소 목록이 있다. 각 주유소는 gas\[i] 만큼의 기름을 갖고 있으며, 다음 주유소로 이동하는데 cost\[i]가 필요하다. 기름이 부족하면 이동할 수 없다고 할 때 모든 주유소를 방문할 수 있는 출발점의 인덱스를 출력하라.출발점이

2021년 6월 1일
·
0개의 댓글
post-thumbnail

80. Task Scheduler

리트코드A에서 Z로 표현된 태스크가 있다. 각 간격마다 CPU는 한 번의 태스크만 실행할 수 있고, n번의 간격 내에는 동일한 태스크를 실행할 수 없다.더 이상 실행할 수 없는 경우 아이들(idle) 상태가 된다.모든 태스크를 실행하기 위한 최소 간격을 출력하라.이 문

2021년 6월 1일
·
0개의 댓글
post-thumbnail

79. Queue Reconstruction by Height

리트코드여러 명의 사람들이 줄을 서 있다. 각각의 사람은 (h,k)의 두 정수 쌍을 갖는데,h는 그 사람의 키, k는 앞에 줄 서 있는 사람들 중 자신의 키 이상인 사람들의 수를 뜻한다. 이 값이 올바르도록 줄을 재정렬하는 알고리즘을 작성하라.먼저, 이 문제의 입출력

2021년 5월 31일
·
0개의 댓글
post-thumbnail

78. Best Time to Buy and Sell Stock II

리트코드여러 번의 거래로 낼 수 있는 최대 이익을 산출하라.12번 '주식을 사고팔기 좋은 시점' 문제의 2탄 격인 문제로, 한 번이 아닌 여러 번의 거래를 할 수 있다는 차이가 있다.이 문제는 단 한 번의 거래였기 때문에 저점과 고점에만 체크했다.이제는 여러번 거래를

2021년 5월 30일
·
0개의 댓글
post-thumbnail

77. Longest Repeating Character Replacement

리트코드대문자로 구성된 문자열 s가 주어졌을 때 k번만큼의 변경으로 만들 수 있는, 연속으로 반복된 문자열의 가장 긴 길이를 출력하라.이 문제는 오른쪽 포인터가 계속 우측으로 이동한다는 점에서 슬라이딩 윈도우 문제이지만, 왼쪽 포인터를 계속 좁혀서 범위를 조절해 나간다

2021년 5월 29일
·
0개의 댓글
post-thumbnail

76. Minimum Window Substring

리트코드문자열 S와 T를 입력받아 O(n)에 T의 모든 문자가 포함된 S의 최소 윈도우를 찾아라.최소 윈도우라고 했으니 일단 T의 크기부터 시작해 점점 크기를 키워가며 모든 위도우 크기에 대해 다음고 같이 탐색을 시도해볼 수 있겠다.예제에서 T는 3개의 문자이므로 먼저

2021년 5월 28일
·
0개의 댓글
post-thumbnail

75. Sliding Window Maximum

리트코드배열 nums가 주어졌을 때 k 크기의 슬라이딩 윈도우를 오른쪽 끝까지 이동하면서 최대 슬라이딩 윈도우를 구하라.제목부터 '슬라이딩 윈도우'라는 단어가 포함된 전형적인 슬라이딩 윈도우 문제로, 파이썬에서는 슬라이싱과 내장 함수를 사용해 매우 쉬운 방식으로 풀이할

2021년 5월 27일
·
0개의 댓글
post-thumbnail

73. Number of 1 Bits

리트코드부호없는 정수형 (Unsigned Integer)을 입력받아 1비트의 개수를 출력하라.이 문제의 결과는 모두 0으로 구성된 비트들과의 해밍 거리(Hamming Distance)로 이를 해밍 가중치(Hamming weight)라고 부른다.참고로 해밍 거리는 두 정

2021년 5월 26일
·
0개의 댓글
post-thumbnail

72. Sum of Two Integers

리트코드두 정수 a와 b의 합을 구하라. \+또는 - 연산자는 사용할 수 없다.이번에는 좀 더 제대로 전가산기를 구현해본다. 물론 전가산기를 온전히 구현하는 데는 많은 노력이 필요하다.지나치게 어렵게 풀이하는 것 같지만, 여기서는 논리 회로에 대한 이해도 높일 겸 한

2021년 5월 24일
·
0개의 댓글
post-thumbnail

71. Hamming Distance

리트코드두 정수를 입력받아 몇 비트가 다른지 계산하라.➕ count 함수는 문자열에서 쓰이는 메서드 입니다.count 함수는 문자열 내부에서 특정 문자, 혹은 문자열이 포함 되어있는지 계산해서 반환해주는 함수 입니다..count(self, x, \_\_start, \_

2021년 5월 22일
·
0개의 댓글