본문 바로가기
반응형
SMALL

분류 전체보기125

키패드 누르기 https://school.programmers.co.kr/learn/courses/30/lessons/67256 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   이 키패드의 * 과 #도 숫자로 기입함 * 에는 10, # 에는 12로 기입해서거리를 쟤서 손잡이에 따른 결과를 출력해서  위와 같은 조건문으로 수행시키면 될 것 같다 왼손의 1 4 7 10과 오른손의 3 6 9 12에는 2의 차이가 있으므로 이걸 오차범위에서 빼줌그러면 같은 값으로 비교할 수 있다이런 구조가 되는데 여기서 2 5 8 0 일 때는 좀 더 자세한 조건문이 필요함  2 일때는 1이나 .. 2024. 5. 21.
크레인 인형뽑기 게임 https://school.programmers.co.kr/learn/courses/30/lessons/64061 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 스택 큐 문제 같고 설명이 아주 자세해서 직관적으로 한번에 풀어냄! 원본배열을 수정해야하므로 splice 를 사용했는데2차원 배열에서 splice 써본 건 처음이라위치 넣는 부분에board.splice(selcect, 1, 0); // 2차원 배열에서는 이렇게하면 그냥 배열 자체가 0으로 바뀌어버림board[j].splice([moves[i] - 1], 1, 0); 이렇게 원하는 2차원 배열의 위치를.. 2024. 5. 14.
슬라이딩 윈도우 기법 슬라이딩 윈도우 기법은 배열이나 리스트의 요소를 한정된 크기의 '윈도우'나 '서브리스트'로 나누어 분석할 때 사용되는 알고리즘 패턴입니다. 이 기법은 주로 부분 배열의 최대합, 최소값, 평균 등을 효율적으로 계산할 때 사용됩니다.슬라이딩 윈도우의 기본 아이디어슬라이딩 윈도우 기법의 핵심은 윈도우(부분 배열)가 데이터 구조를 통해 일정한 범위를 유지하며 입력 데이터를 순차적으로 스캔한다는 것입니다. 윈도우의 크기는 고정될 수도 있고 가변적일 수도 있으며, 윈도우가 한 위치에서 다음 위치로 이동할 때 일부 데이터는 윈도우에서 제외되고 새로운 데이터가 포함됩니다.예시: 최대합 찾기문제: 주어진 배열에서 크기가 **k**인 연속 부분 배열의 최대 합을 찾아라.예를 들어, 배열 **arr = [1, -2, 3, .. 2024. 5. 13.
연습문제 > 햄버거 만들기 https://school.programmers.co.kr/learn/courses/30/lessons/133502?language=javascript 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1 2 3 1 이 연속되면 그 배열에서 재료 4개 날리고다시 검사하는 식의 while 무한루프를 만들면 되는데1 2 3 1 이 연속될 때 i++; 식으로 구현했다가 범위 오버 문제도 있고 참조 문제도 있어서ingredient.length - 4 (초과하는 오버 범위를 빼기) 식으로 구현해주는게 좋고 while의 조건을 그 전과 비교해 감소했는지 여부를 체크하는 플.. 2024. 5. 13.
연습문제 > 대충 만든 자판 https://school.programmers.co.kr/learn/courses/30/lessons/160586 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr구조부터 짬 while 문이 유리하다고 판단 됨원하는 값의 길이가 targets의 길이에 도달할때 까지 반복하고targets의 각 인덱스 총합을 push 할 때까지 그리고 잠시 아직 완성안된 while 무한루프를 해제한 뒤 targets를 하나씩 불러오게 하기 A B C D 를 가장 빠르게 누를 수 있는 방법을 찾으려면keymap 배열 [ 'ABACD', 'BCEFD' ] 에서 가장 근접한 숫자의 i.. 2024. 5. 11.
연습문제 > 숫자 짝꿍 https://school.programmers.co.kr/learn/courses/30/lessons/131128 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문자열을 하나씩 매칭해서 공통되는 걸 찾고 중복되지 않도록 Y의 값에서는 비교 된 게 있으면 그 값을 splice로 빼주는 식으로 처리  효율성체크에서 통과 못함 2중 포문 줄이기  응 그래도 통과 못해 지피티선생....  털썩.. 2024. 5. 8.
연습문제 > 문자열 나누기 https://school.programmers.co.kr/learn/courses/30/lessons/140108 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제부터 동공지진이 왔음 내가 문해력이 딸리나 뭔소리인지 이해하기가 어려움그냥 해보면서 이해하는걸로이런식의 재귀로 풀어야할 줄 알았는데시간초과  발생 text = text.slice(i + 1) 도 원래는 read라는 변수에 담은 걸로 split 하려고 했는데nana 를 na 로 분리할 때 그냥 na로 두번 나눠서 공중분해되는 문제 때문에 지피티로 방법 찾음 ㅜㅜ레벨 2 보다 왜 훨씬 어려운 문제 .. 2024. 5. 7.
로또의 최고 순위와 최저 순위 https://school.programmers.co.kr/learn/courses/30/lessons/77484?language=javascript#fn1 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 정렬을 안해도 풀리는 문제로또번호 불확실한 0을 잘 카운트해내면 풀 수 있음  0이면 바로 다음 구문으로 넘기고, 당첨번호와 매칭되는지 체크 함당첨 갯수와 0의 갯수가 구해질껀데  당첨 갯수에 따라 최저 당첨 순위를 low에 담음 그리고 0의 갯수와 당첨번호를 더한게 최고 순위라 high 에 담고 return 해주면 끝 코드가 길지만 그래도 직관적으로 바로 .. 2024. 5. 7.
탐욕법(Greedy) > 체육복 https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 체육복 여분 가져온 사람의 배열을 하나씩 제거하면서 없어질 때까지 while을 돌리고빌려주기가 가능할 때 lost에서 하나씩 제거해가면서마지막에 체육복 갯수에서 lost의 배열 갯수를 빼면 나올 줄 알았다function solution(n, lost, reserve) {    while (reserve.length > 0) {        const reserveNum = reserve.pop(); .. 2024. 4. 30.
Summer/Winter Coding(~2018) > 소수 만들기 https://school.programmers.co.kr/learn/courses/30/lessons/12977 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 서로다른 3개의 수를 더했을 때의 값들을 전부 뽑는 순열 배열을 하나 만든다. 2. 그 배열 중 소수인 것의 갯수를 세서 return 한다. 푸는 방법은 알겠는데 저걸 하나하나 모두 짜라고하면 못함 출제빈도가 은근 높아서 다양한 순열 뽑는 알고리즘은 어느정도 함수로 일단 갖고 있어야할 듯 2024. 4. 24.
연습문제 > 덧칠하기 https://school.programmers.co.kr/learn/courses/30/lessons/161989 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에 이런식으로 접근 했다 // n : 6, m : 1, section : [1, 3, 5] // answer : 3 // 반환 결과 : 5 롤러의 길이 m 이 1일 때는 다른 결과가 나오므로 if (m === 1) { return section.length; } 를 추가했지만 60% 밖에 통과를 못했고 // 입력값 〉 5, 2, [1, 2, 5] // 기댓값 〉 2 // 반환 결과 : 5 라.. 2024. 4. 19.
완전탐색(Brute-Force)과 탐욕법(Greedy Approach) 완전탐색(Brute-Force)과 탐욕법(Greedy Approach)은 모두 최적해를 찾기 위한 알고리즘 기법입니다. 하지만 그 접근 방식과 해결 과정에서 차이가 있습니다. 완전탐색(Brute-Force) 완전탐색은 가능한 모든 경우의 수를 체계적으로 열거하고 검사하여 최적해를 찾는 방법입니다. 즉, 문제의 모든 가능한 해를 생성한 후 그 중에서 가장 좋은 해를 선택합니다. 이 방법은 간단하고 구현하기 쉽지만, 문제의 크기가 커질수록 계산 시간이 기하급수적으로 증가하는 단점이 있습니다. 예시: 주어진 배열에서 두 수의 합이 목표 값과 같은 쌍을 찾는 문제 function findSum(arr, target) { for (let i = 0; i < arr.length; i++) { for (let j =.. 2024. 4. 18.
해시 > 전화번호 목록 https://school.programmers.co.kr/learn/courses/30/lessons/42577 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr includes() includes() includes() 메서드는 문자열 또는 배열에서 특정 값이 포함되어 있는지를 확인하는 데 사용됩니다. 이 메서드는 부울린(boolean) 값을 반환합니다. 문자열에서 사용 const str = 'Hello, World!'; console.log(str. yongfront.tistory.com 또는 startsWith() startsWith() startsW.. 2024. 4. 10.
indexOf() indexOf()는 JavaScript의 내장 문자열 메서드 중 하나입니다. 문자열에서 특정 문자열이 처음으로 나타나는 위치의 인덱스를 반환합니다. 찾는 문자열이 없으면 -1을 반환합니다. 구문: string.indexOf(searchValue, fromIndex) searchValue: 문자열에서 검색할 문자열입니다. fromIndex (선택사항): 검색을 시작할 위치의 인덱스입니다. 기본값은 0입니다. 예시: let str = "Hello world, welcome to the universe."; console.log(str.indexOf("welcome"));// 14 (인덱스 14부터 "welcome"이 시작) console.log(str.indexOf("Hello"));// 0 (인덱스 0부터.. 2024. 4. 10.
startsWith() startsWith() 메서드는 JavaScript에 내장된 문자열 메서드입니다. 문자열이 특정 문자열로 시작하는지 여부를 판별하여 true 또는 false를 반환합니다. 구문: str.startsWith(searchString, position) searchString: str의 시작 부분에서 검색할 문자열입니다. position (선택사항): 검색을 시작할 str의 위치입니다. 기본값은 0입니다. 예시: let str = "안녕하세요 세상아"; // "안녕"으로 시작하는가? console.log(str.startsWith("안녕"));// true// "세상"으로 시작하는가? (대소문자 구분) console.log(str.startsWith("세상"));// false// 위치 6부터 "세상"으로 시.. 2024. 4. 10.
for ...in for...in 문은 객체의 열거 가능한 속성(property)에 대해 반복하는 데 사용됩니다. 배열에서도 사용할 수 있지만, 배열에는 for...of 문을 사용하는 것이 더 권장됩니다. 구문 for (variable in object) { // 코드 블록 } variable: 각 반복에서 다음 속성 이름(키)이 할당되는 변수 object: 반복되는 객체 예시 객체 반복 const obj = { name: 'John', age: 30, city: 'New York' }; for (const prop in obj) { console.log(`${prop}: ${obj[prop]}`); // "name: John", "age: 30", "city: New York" } 배열 반복 (권장하지 않음) const.. 2024. 4. 10.
includes() includes() 메서드는 문자열 또는 배열에서 특정 값이 포함되어 있는지를 확인하는 데 사용됩니다. 이 메서드는 부울린(boolean) 값을 반환합니다. 문자열에서 사용 const str = 'Hello, World!'; console.log(str.includes('Hello'));// true console.log(str.includes('hello'));// false (대소문자 구분) console.log(str.includes('World'));// true console.log(str.includes('world'));// false (대소문자 구분) console.log(str.includes('!'));// true 배열에서 사용 const arr = [1, 2, 3, 4, 5]; co.. 2024. 4. 10.
for...of for...of 문은 ES6(ECMAScript 2015)에서 도입된 반복문 구문입니다. 이터러블(iterable) 객체(배열, 문자열, Map, Set 등)에서 값을 가져와 반복할 때 사용됩니다. 구문 for (variable of iterable) { // 코드 블록 } variable: 각 반복에서 다음 값이 할당되는 변수 iterable: 반복되는 이터러블 객체(Array, Map, Set, String, TypedArray, arguments 객체 등) 예시 배열 반복 const arr = [10, 20, 30, 40]; for (const value of arr) { console.log(value);// 10, 20, 30, 40 } 문자열 반복 const str = 'hello'; for .. 2024. 4. 10.
해시 > 완주하지 못한 선수 https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 배열에서 배열 빼기를 하는 문제다. 배열에서 배열 빼기 배열에서 배열을 빼는 연산은 자바스크립트에서 직접적으로 지원되지 않지만, 다음과 같은 방법으로 구현할 수 있습니다. filter() 메서드와 includes() 메서드 사용 const arr1 = [1, 2, 3, 4, 5]; const arr2 = yongfront.tistory.com 근데 이렇게 하면 중복된 요소까지 다 빠져버려서 진정한.. 2024. 4. 10.
배열에서 배열 빼기 배열에서 배열을 빼는 연산은 자바스크립트에서 직접적으로 지원되지 않지만, 다음과 같은 방법으로 구현할 수 있습니다. filter() 메서드와 includes() 메서드 사용 const arr1 = [1, 2, 3, 4, 5]; const arr2 = [3, 4]; const result = arr1.filter(item => !arr2.includes(item));// [1, 2, 5] arr1에서 arr2에 포함된 요소를 제외한 나머지 요소들로 새로운 배열을 만듭니다. Set을 이용한 방법 const arr1 = [1, 2, 3, 4, 5]; const arr2 = [3, 4]; const set1 = new Set(arr1); const set2 = new Set(arr2); const result .. 2024. 4. 10.
정렬 > H-Index https://school.programmers.co.kr/learn/courses/30/lessons/42747#fn1 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에 문제를 한참 읽어 봤다 정렬을 하면 그 해당값들의 index를 활용하기 편하고 인용된 횟수의 최소 값을 구하면 어찌저찌 될 것 같은데 순회하는 것에 대해 아직 정확히 숙련 돼 있지 않은 듯 함 3 0 6 1 5 라고 하면 일단 b - a 내림차순 정렬을 하면 6 5 3 1 0 for (let i = 0; i < sortArray.length; i++) 를 통해 각 요소를 순회 함 i.. 2024. 4. 3.
정렬 > 가장 큰 수 https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 골치아픈 문제임 처음에 모든 경우의 수를 만들어서 탐욕알고리즘으로 풀까라고 생각도 해봤지만 탐욕알고리즘조차 아직 제대로 다뤄보지 않아서 그리고 카테고리 자체가 정렬이니 정렬을 이용해서 풀어보라고 해서 sort 를 써서 단순히 내림차순을 해보았더니 당연히 자리수 때문에 이상하게 정렬 된다 방법을 찾던 중 문자열로 정렬하면 어떨까 하는 생각이 들어서 이런 식으로 문자열로 변경한 다음에 첫번째 자리수를.. 2024. 4. 3.
localeCompare localeCompare 메소드는 문자열이 다른 문자열 앞에, 뒤에, 아니면 같은 위치에 오는지를 숫자로 반환하는 String 객체의 메소드입니다. 이 메소드는 대소문자 구분, 악센트, 기타 문자열 비교에서 로케일(언어 및 지역 설정)을 고려한 정렬 순서를 제공합니다. 기본적으로 **localeCompare**는 호출하는 문자열이 비교 대상 문자열보다 알파벳상 뒤에 오면 양의 정수, 앞에 오면 음의 정수, 같은 경우에는 0을 반환합니다. 이 메소드는 비교할 때 로케일의 정렬 규칙을 사용하여, 다양한 언어와 스크립트에서 문자열을 올바르게 정렬할 수 있도록 돕습니다. 사용법 const returnValue = string1.localeCompare(string2); **string1**은 기준 문자열입니다... 2024. 4. 3.
연습문제 > 소수 찾기 https://school.programmers.co.kr/learn/courses/30/lessons/12921 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소수 만들기라는 문제를 풀려면 소수를 찾는 방법부터 알아야 한다. 그래서 먼저 소수 찾기부터 풀어보고 다음에 소수 만들기를 풀 예정이다. 소수는 1과 자기 자신 외에는 어떤 수로도 나누어떨어지지 않는 1보다 큰 자연수이다. 가장 간단한 소수 판별 방법은 2부터 해당 숫자의 제곱근까지 모든 숫자로 나누어보는 것이. 자바스크립트에서는 Math.sqrt 를 활용하여 쉽게 소수를 찾을 수 있는데 func.. 2024. 3. 31.
연습문제 > 기사단원의 무기 https://school.programmers.co.kr/learn/courses/30/lessons/136798 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 일단 약수의 개수를 구하는 함수를 활용해서 풀어보려고 한다 function count(n) { let p = 0; for (let i = 1; i 2024. 3. 29.
완전탐색 > 모의고사 https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... let p1 = [1, 2, 3, 4, 5]; le.. 2024. 3. 29.
레드-블랙 트리(Red-Black Tree) 레드-블랙 트리(Red-Black Tree)는 이진 탐색 트리의 한 종류로, 균형을 유지하기 위해 특정 규칙을 따르는 자료구조입니다. 이는 삽입, 삭제, 탐색과 같은 기본적인 동작들을 O(log n)의 시간 복잡도로 수행할 수 있게 해 줍니다. 레드-블랙 트리는 다음과 같은 성질을 만족합니다: 각 노드는 레드 혹은 블랙입니다. 루트 노드는 블랙입니다. 모든 리프 노드(NIL 노드)는 블랙입니다. 레드 노드의 자식 노드들은 모두 블랙입니다. (레드 노드는 연속되지 않습니다.) 각 노드로부터 해당 노드의 후손 리프 노드로 이어지는 모든 경로에는 같은 수의 블랙 노드가 존재합니다. 자바스크립트로 레드-블랙 트리를 구현하기 위해서는 먼저 노드를 정의하는 클래스와 트리를 정의하는 클래스가 필요합니다. 여기서는 간.. 2024. 3. 24.
해시테이블(Hashtable) 해시테이블(Hashtable)은 키(Key)를 값(Value)에 매핑하여 데이터를 저장하는 자료 구조입니다. 이를 통해 데이터의 추가, 검색, 삭제 등을 평균적으로 상수 시간(O(1))에 수행할 수 있습니다. 해시테이블의 핵심은 해시 함수(Hash Function)입니다. 해시 함수는 임의 크기의 데이터를 고정된 크기의 유일한 값(해시 코드)으로 변환합니다. 이 해시 코드는 배열의 인덱스로 사용되어, 데이터의 위치를 결정합니다. 해시 충돌(Hash Collision) 두 개 이상의 키가 같은 해시 값을 가지게 되는 경우를 해시 충돌이라고 합니다. 해시테이블 구현 시 충돌을 해결하는 방법은 여러 가지가 있지만, 가장 일반적인 두 가지 방법은 체이닝(Chaining)과 오픈 어드레싱(Open Addressi.. 2024. 3. 20.
그래프 그래프는 노드(정점)들과 그 노드들을 연결하는 간선(엣지)들의 집합으로 구성된 자료 구조입니다. 그래프는 네트워크 모델링, 경로 찾기, 소셜 네트워크 분석 등 다양한 분야에서 활용됩니다. 그래프는 크게 두 가지로 분류됩니다: 무방향 그래프(Undirected Graph): 간선에 방향이 없어, 두 정점이 서로 연결되어 있는 구조입니다. 방향 그래프(Directed Graph): 간선에 방향이 있어, 한 정점에서 다른 정점으로의 일방향 연결을 나타냅니다. 그래프는 또한 가중치가 있는 그래프와 가중치가 없는 그래프로 나눌 수 있으며, 가중치가 있는 그래프에서는 각 간선에 비용 또는 가중치가 할당됩니다. JavaScript에서 그래프 구현하기 JavaScript로 그래프를 구현할 수 있는 여러 방법이 있습니다.. 2024. 3. 20.
우선순위 큐(Priority Queue)와 덱(Deque) 우선순위 큐(Priority Queue)와 덱(Deque, Double-Ended Queue)은 모두 추상 자료형(Abstract Data Type, ADT)으로, 데이터를 저장하고 접근하는 데 사용되는 컬렉션입니다. 그러나 그들이 데이터를 관리하고 접근하는 방식에는 중요한 차이가 있습니다. 우선순위 큐(Priority Queue) 우선순위 큐는 각 요소가 우선순위와 함께 저장되는 자료구조입니다. 요소들은 우선순위에 따라 정렬되며, 요소를 제거할 때는 가장 높은 우선순위를 가진 요소가 먼저 제거됩니다. 우선순위 큐는 힙(Heap) 자료구조를 사용하여 효율적으로 구현될 수 있습니다. 힙을 사용하는 경우, 요소의 추가와 제거(특히, 최소값 또는 최대값의 제거)가 O(logN) 시간 복잡도를 가집니다. 사용 .. 2024. 3. 20.
728x90
반응형
LIST