
✅ 난이도 D2 ✅ 문제 다음과 같이 Encoding 을 한다. 우선 24비트 버퍼에 위쪽(MSB)부터 한 byte씩 3 byte의 문자를 집어넣는다. 버퍼의 위쪽부터 6비트씩 잘라 그 값을 읽고, 각각의 값을 아래의 문자로 Encoding 한다. 입력으로 Bas
✅ 난이도 D3 ✅ 문제 강변에 빌딩들이 옆으로 빽빽하게 밀집한 지역이 있다. 이곳에서는 빌딩들이 너무 좌우로 밀집하여, 강에 대한 조망은 모든 세대에서 좋지만 왼쪽 또는 오른쪽 창문을 열었을 때 바로 앞에 옆 건물이 보이는 경우가 허다하였다. 그래서 이 지역에서는
D2패턴에서 반복되는 부분을 마디라고 부른다. 문자열을 입력 받아 마디의 길이를 출력하는 프로그램을 작성하라.제약 사항각 문자열의 길이는 30이다. 마디의 최대 길이는 10이다.배열 슬라이싱 반복되는 문자열을 빠르게 찾는 방법처음에는 반복문으로 문자열 하나하나 직접 비
✅ 난이도 D3 ✅ 문제 N X M 크기의 직사각형 격자판이 있다. 격자판의 각 칸은 1 x 1 크기의 정사각형 모양이다. 당신은 이 격자판의 각 칸을 검은색 또는 흰색으로 칠할 계획이다. 당신은 격자판의 칸 중 몇 개(0개 이상 NM개 이하)는 검은색으로 칠할지 흰
D3링크텍스트N개의 정수가 입력으로 주어진다.이때 연속하여 몇 개의 정수를 골라 합을 구할 수 있다.예를 들어, 1 3 -8 18 -8 이 있다고 하자.그럼 2번부터 4번까지의 수를 골라 합을 구하면, 3+(-8)+18 = 13이다. 이렇게 연속해서 정수를 골라 합을
D2문제링크삼성전자에 입사한 종민이는 회사 근처로 이사를 하게 되었다.그런데 집의 위치가 두 수도 회사 A, B 중간에 위치하기에 원하는 수도 회사를 선택할 수 있게 되었는데, 두 회사 중 더 적게 수도 요금을 부담해도 되는 회사를 고르려고 한다.종민이가 알아본 결과
D3문제링크한 쪽 벽면에 다음과 같이 노란색 상자들이 쌓여 있다.높은 곳의 상자를 낮은 곳에 옮기는 방식으로 최고점과 최저점의 간격을 줄이는 작업을 평탄화라고 한다.평탄화를 모두 수행하고 나면, 가장 높은 곳과 가장 낮은 곳의 차이가 최대 1 이내가 된다.평탄화 작업을

D3문제링크0 또는 1로 구성된 두 이진 수열 a1 , a2 , ···, an 과 b1, b2, ···, bm에 대해, 이 수열의 XOR 2차원배열 Fa,b 는 n X m 크기의 배열로, Fa,b i =ai ⊕bj 로 정의된다. 여기서 ⊕는 bitwise XO
D3문제링크소정이와 세정이는 점심 값을 누가 낼 지 정하기 위해 팔씨름을 하기로 했다. 공정하고 재밌는 경기를 위해 둘은 15번 팔씨름을 하여 8번 이상 이기는 사람이 점심 값을 면제받기로 하였다.둘은 지금까지 k번의 팔씨름을 진행했다. 이 결과는 길이가 k인 ‘o’
골드5문제링크상담원으로 일하고 있는 백준이는 퇴사를 하려고 한다.오늘부터 N+1일째 되는 날 퇴사를 하기 위해서, 남은 N일 동안 최대한 많은 상담을 하려고 한다.백준이는 비서에게 최대한 많은 상담을 잡으라고 부탁을 했고, 비서는 하루에 하나씩 서로 다른 사람의 상담을

✅ 난이도 골드5 ✅ 문제 문제링크 ✅ 개념 ✅ 풀이 최종적으로 구할 것 : 최대 수익 - dp 부분적으로 구할 것 : 현재 날짜 (i)일까지의 최대 수익 점화식 상담을 할 경우 dp[i + T[i]]= max(dp[i] + P[i] ,dp[i + T[

실버1문제링크방향 전환 d가 0,1,2,3 으로 주어지고, 반시계 방향으로 돈다고 가정하면 0->3->2->11\. 로봇 청소기가 처음에 있는 위치 청소1-1. 반복문 시작2\. 북동남서 방향 순으로 청소할 수 있는 곳이 있는지 체크 2-1. 벽이거나 visit한 곳이

실버3문제링크순열 어 이거 순열 아닌가?순열 구현 방법 -> nPr = n!/(n-r)!
실버1문제링크스택 사용 방법 remind0번째 높이를 스택에 넣으면서 출발 현재의 높이가 스택의 가장 최상단 (바로 이전)보다 높거나 같으면 스택에 계속 넣어줌현재의 높이가 스택의 가장 최상단보다 작으면 일단 스탑 -> 스택에 있는 높이들을 전부다 꺼내서 넓이를 계산함
실버2문제링크bfs로 풀이진행했다.
실버2문제링크슬라이딩 윈도우 기법슬라이딩 윈도우 기법은 현재 윈도우(부분 문자열)의 첫 문자를 제거하고 새 문자를 끝에 추가함으로써 다음 윈도우로 넘어가는 방식각 부분 문자열에 대한 염기 개수를 매번 처음부터 계산할 필요 없이, 변경되는 부분만 갱신하면 됨!!!처음에는
D3문제링크격자판에 @가 있을 때만 함수를 실행하도록 함 -> 어차피 @가 있어야 종료되니까!!메모리에 저장된 값을 계산하는 문자(+, -)의 경우 값 계산 후 16으로 나눠주고, 주어진 격자판 밖으로 이동하는 경우 x, y 좌표 값을 각각 R, C로 나눠줌최대 재귀
실버1문제링크격자의 크기 = 2의 N 제곱1\. size가 2가 되면, 현재 2x2 격자에서 목표 위치를 탐색2\. 각 2x2 격자 안에서, 4개의 위치를 순서대로 확인하고 각 위치를 확인할 때마다 cnt를 1 증가3\. 목표 위치를 찾으면, 현재의 cnt 값을 출력하
실버2문제링크파이썬 리스트 추가 append 말고 인덱스와 함께 추가하기 자료구조 고려한 코드 1\. 커서를 기준으로 커서 왼쪽의 문자열을 stack 1, 커서 오른쪽의 문자열을 stack 2에 담는다. 2\. 커서를 기준으로 값을 추가하거나 삭제하는 연산 시 O(1)
1차 풀이 : 250922 (우 ㅓㄹ)2차원 배열 입력 받기team = (0,2), (0,1), (0,0) 형식으로 진행배열 방향 반전방향 잡기(k//N)%4이건 직접 예시 숫자를 잡아서 해보는게 베스트일듯아래는 문어박사 유튜브 강의 들으면서 이해하고 푼 코드...
TIP 건물을 -10000으로 설정해두면 제초제랑 헷갈릴 일이 없음 테두리를 INF 값 등으로 해두면 범위 체크 필요 없음 슬라이싱 복사 시뮬레이션에서는 동시에 일어나는 작업은 복사 arr를 만든 다음 모든 반복문 끝난 담에 대입 해주는 것이 좋음 like...