시간 복잡도 효율적인 알고리즘에 대한 고민 시간 복잡도(Time complexity) 는 문제를 해결하는 데 걸리는 시간과 입력의 함수 관계를 가리킨다. 예시로 요리사가 같은 시간 안에 더 많은 요리를 만들기 위해서는 ? 여러가지 시간 복잡도 표기 방법 Big-O(빅
구간 합은 합 배열을 이용하여 시간 복잡도를 더 줄이기 위해 사용하는 특수한 목적의 알고리즘입니다.구간 합 알고리즘을 활용하려면 먼저 합 배열을 구해야 합니다. 배열 A가 있을 때 합 배열 S는 다음과 같이 정의 합니다.S i = A 0 + A 1 + A 2 +

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&contestProbId=AV5LrsUaDxcDFAXc&categoryId=AV5LrsUaDxcDFAXc&category
영어 알파벳과 특수문자로 구성된 문자열이 주어지면 영어 알파벳만 뒤집고,특수문자는 자기 자리에 그대로 있는 문자열을 만들어 출력하는 프로그램을 작성하세요.첫 줄에 길이가 100을 넘지 않는 문자열이 주어집니다.첫 줄에 알파벳만 뒤집힌 문자열을 출력합니다.| a1\. 입

한 개의 문자열 s와 문자 t가 주어지면 문자열 s의 각 문자가 문자 t와 떨어진 최소거리를 출력하는 프로그램을 작성하세요.첫 번째 줄에 문자열 s와 문자 t가 주어진다. 문자열과 문자는 소문자로만 주어집니다.문자열의 길이는 100을 넘지 않는다.첫 번째 줄에 각 문자
현수는 영희에게 알파벳 대문자로 구성된 비밀편지를 매일 컴퓨터를 이용해 보냅니다.비밀편지는 현수와 영희가 서로 약속한 암호로 구성되어 있습니다.비밀편지는 알파벳 한 문자마다 만약 현수가 “1\. “2\. 바뀐 2진수를 10진수화 합니다. “1000001”을 10진수화
HashMap은 Map을 구현했으므로 앞에서 살펴본 Map의 특징인, 키(key)와 값(value)을 묶어서 하나의 데이터(entry)로 저장한다는 특징 이 있다. 그리고 해싱(hashing) 을 사용하기 때문에 많은 양의 데이터를 검색하는데 있어 뛰어난 성능을 보인다

1) 피보나치 수열을 출력한다. 피보나치 수열이란 앞의 2개의 수를 합하여 다음 숫자가 되는 수열이다.2) 입력은 피보나치 수열의 총 항의 수 이다. 만약 7이 입력되면 1 1 2 3 5 8 13을 출력하면 된다.▣ 입력설명첫 줄에 총 항수 N(3<=N<=4

BFS는 그래프 탐색 알고리즘 중 하나로, 시작 정점에서 부터 인접한 정점들을 탐색하는 방법입다. 너비 우선 탐색으로도 하며, 큐(Queue) 자료 구조를 사용하여 구현 합니다. BFS는 정점들을 방문하는 순서대로 탐색하며, 같은 레벨에 있는 정점들을 먼저 구현합니다.

오늘은 동적 계획법에 대해 설명하도록 하겠습니다. 자료구조의 동적할당에서 '동적'은 '프로그램이 실행되는 도중에 실행에 필요한 메모리를 할당하는 기법' 라고 하는데 너무 어려운 말은 두고, 그냥 기억하는 알고리즘이라고 생각하면 편합니다.대표적인 예시로 단순 재귀 문제인

가장 큰 연속적인 서브 배열의 합을 구하는 문제입니다.A = -2, 1, -3, 4, -1, 2, 1, -5, 4예를 들어 위의 배열에서 가장 큰 합을 가지는 연속적인 서브 배열은 4, -1, 2, 1(합 6) 입니다. 이제 아래에서 이 배열을 가지고 브루드 포스와 카
오늘의 알고리즘 !!! 이분 탐색 입니다. 이분탐색은 정렬된 배열에서 특정 숫자의 위치를 찾는데 유용합니다. 이분탐색은 정렬된 테이터에서 특정 값을 효율적으로 찾기 위해 사용을 하는데요, 주어진 배열이 정렬되어 있다는 전제 아래, 데이터를 절반씩 나누면서 목표 값을

주어진 원소들을 특정 순서대로 나열한 모든 경우의 집합을 의미합니다.예를 들어, 숫자 1,2,3의 순열은 이와 같습니다요~그리고 N개의 숫자가 주어지면 순열의 갯수는 N!(팩토리얼) 입니다.ex) N이 3개이면 3!= 6으로 6개입니다.순열을 찾는 과정은 3단계로 구성

강아지는 많을수록 좋다이동 가능한 칸 수는 두 가지(A, B)로 제한됨특정 구간은 사용 불가능하므로 이를 DP에서 제외 처리해야 함DPi = i번 칸까지 도달하는 최소 점프 횟수로 정의점화식은 가능한 이전 위치에서의 최소 횟수 + 1dp\[i]를 i번 칸까지 도달하는
신규 아이디 추천 (프로그래머스 72410) 블로그 📌 문제 설명 프로그래머스 ‘신규 아이디 추천’(72410) 문제는, 이용자가 입력한 new_id를 7단계의 규칙에 따라 새로운 아이디로 추천하는 기능을 구현하는 문제입니다. 1단계: 모든 대문자를 소문자로 치환
백준 17271번 – 리그 오브 레전설 (Small)🔗 리그오브 레전설규환이는 리그 오브 레전설이라는 게임을 좋아한다.이 게임에서는 N초의 시간 동안 싸움을 하는데, 규환이가 플레이하는 캐릭터는 A, B 두 가지 스킬을 사용할 수 있다. A 스킬의 시전 시간은 1

🔗 과자 나줘주기명절이 되면 조카들에게 막대 과자를 나눠줘야 한다! 모든 조카에게 같은 길이의 과자를 줘야 한다.과자는 쪼갤 수는 있지만 붙일 수는 없다.조카 수 M명, 과자 수 N개가 주어진다.각 조카에게 줄 수 있는 막대 과자의 최대 길이를 구하자!모든 조카에게
🔗 병든 나이트체스판의 크기가 N x M일 때, 병든 나이트는 일반 나이트처럼 이동할 수 없고, 아래의 4가지 방식으로만 움직일 수 있다:2칸 위로, 1칸 오른쪽1칸 위로, 2칸 오른쪽1칸 아래로, 2칸 오른쪽2칸 아래로, 1칸 오른쪽나이트는 가장 많이 방문할 수 있
🔗 저울하나의 양팔 저울이 있습니다.저울의 한 쪽에는 추들만 올릴 수 있고, 다른 한 쪽에는 물건 1개만 올릴 수 있습니다. 이때 주어진 추들을 이용해서 측정할 수 없는 양의 정수 무게 중 가장 작은 값을 구하는 것이 목표입니다.첫째 줄: 추의 개수 N (1 ≤ N
🔗 한국이 그리울 땐 서버에 접속하지서버에 접속하려면 사용자 이름이 정해진 패턴과 일치해야 한다.패턴은 다음의 형태를 가진다:영어 소문자와 \* 하나로만 구성된 문자열 \*은 어떤 문자열(길이가 0 이상)로도 대체될 수 있음N개의 문자열이 주어졌을 때, 각 문자열이
쇠막대기 - 백준 10799여러 개의 쇠막대기를 레이저로 절단하려고 한다.쇠막대기와 레이저는 아래와 같은 방식으로 표현된다:( : 쇠막대기의 시작 () : 레이저 ) : 쇠막대기의 끝레이저는 쇠막대기를 위에서 수직으로 절단하며, 절단된 쇠막대기 조각의 총 개수를 구
섬의 개수 - 백준 4963정사각형으로 이루어진 지도에서 1은 땅, 0은 바다를 의미한다.상하좌우뿐 아니라 대각선 방향으로도 연결된 땅은 하나의 섬으로 본다.주어진 지도에서 섬이 총 몇 개인지 구하는 프로그램을 작성하라.상, 하, 좌, 우대각선(좌상, 우상, 좌하, 우
수열매일 측정한 온도가 정수로 주어질 때, 연속적인 K일 동안의 온도의 합이 가장 큰 값을 구하는 프로그램을 작성하시오.예를 들어, 아래와 같이 10일간의 온도가 주어졌을 때3 -2 -4 -9 0 3 7 13 8 -3연속적인 2일 동안의 온도의 합은 다음과 같다이 중
안전영역 문제어떤 지역의 높이를 나타내는 N x N 크기의 2차원 배열이 주어진다. 이 지역은 비가 올 때 일정한 높이 이하의 지역이 물에 잠기고, 비의 양에 따라 물에 잠기지 않은 영역(안전한 영역)의 개수는 달라진다. 이때, 비의 양(침수 높이)이 다를 때마다 생
오늘의 학습 키워드 공부한 내용 본인의 언어로 정리하기 오늘의 회고 어떤 문제가 있었고, 나는 어떤 시도를 했는지 어떻게 해결했는지 무엇을 새롭게 알았는지 내일 학습할 것은 무엇인지
바탕화면 정리문자열 배열 wallpaper 가 있다. 빈칸은 . , 파일이 있는 칸은 \`드래그는 바탕화면의 격자점 S(lux, luy)를 마우스 왼쪽 버튼으로 클릭한 상태로 격자점 E(rdx, rdy)로 이동한 뒤 마우스 왼쪽 버튼을 떼는 행동입니다.이때, "점 S에
기존 피보나치 수열에서 다음과 같이 변형된 수열을 구하는 문제입니다.점화식: f(n) = f(n-1) + f(n-3)초기값: f(1) = f(2) = f(3) = 1수열을 나열하면 다음과 같습니다.그리고 자연수 N(1 ≤ N ≤ 116)이 주어질 때, f(N)을 구하는
🔗 포도주 시식효주는 포도주 시식회에 갔다. 그곳에는 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 다음과 같은 규칙이 있다:포도주 잔을 선택하면 그 잔에 들어있는 포도주는 모두 마셔야 하며, 마신 후에는 원래 위치에

🍭 프로그래머스 12951번 – JadenCase 문자열 만들기🔗 JadenCase 문자열 만들기주어진 문자열 s를 JadenCase 형태로 바꾸려 합니다. 각 단어의 첫 글자는 대문자로, 나머지 글자는 소문자로 바꿔야 합니다. 단어는 공백(' ') 하나로 구분
🍪 백준 17484번 – 진우의 달 여행 (Small)🔗 진우듸 달 여행우주비행이 꿈이었던 진우는 달 여행에 필요한 자금을 마련하여, 지구에서 달로 가는 우주선을 타게 되었습니다.지구와 달 사이 공간은 N×M 크기의 행렬로 표현되며, 각 칸의 값은 해당 공간을 지날