전체 글 34

[프로그래머스] 컨트롤 제트

문제 설명숫자와 "Z"가 공백으로 구분되어 담긴 문자열이 주어집니다. 문자열에 있는 숫자를 차례대로 더하려고 합니다. 이 때 "Z"가 나오면 바로 전에 더했던 숫자를 뺀다는 뜻입니다. 숫자와 "Z"로 이루어진 문자열 s가 주어질 때, 머쓱이가 구한 값을 return 하도록 solution 함수를 완성해보세요. 제한사항1 ≤ s의 길이 ≤ 200-1,000 s는 숫자, "Z", 공백으로 이루어져 있습니다.s에 있는 숫자와 "Z"는 서로 공백으로 구분됩니다.연속된 공백은 주어지지 않습니다.0을 제외하고는 0으로 시작하는 숫자는 없습니다.s는 "Z"로 시작하지 않습니다.s의 시작과 끝에는 공백이 없습니다."Z"가 연속해서 나오는 경우는 없습니다.입출력 예sresult"1 2 Z 3"4"10 20 30 40" ..

코딩테스트 2026.06.10

[프로그래머스] 모음 제거

문제 설명 영어에선 a, e, i, o, u 다섯 가지 알파벳을 모음으로 분류합니다. 문자열 my_string이 매개변수로 주어질 때 모음을 제거한 문자열을 return하도록 solution 함수를 완성해주세요. 제한사항my_string은 소문자와 공백으로 이루어져 있습니다.1 ≤ my_string의 길이 ≤ 1,000입출력 예my_stringresult"bus""bs""nice to meet you""nc t mt y" 나의 코드function solution(my_string) { const ben = ["a", "e", "i", "o", "u"]; return my_string.split("").filter((v) => {return !ben.includes(v)}).join("..

코딩테스트 2026.06.07

1-4 목록 태그

안녕하세요. 이번 포스팅에서는 HTML에서 목록(List)을 만들 때 사용하는 ul, ol, li 태그를 정리해보았습니다. 웹페이지를 만들다 보면 메뉴 목록, 순서가 있는 설명, 체크리스트 등 여러 개의 항목을 나열해야 하는 경우가 있습니다.이럴 때 단순히 줄바꿈으로 작성하는 것이 아니라 HTML의 목록 태그를 사용하면 구조를 더 명확하게 표현할 수 있습니다. 처음에는 ul, ol, li가 비슷학세 보여 헷갈릴 수 있지만 각각의 역할을 이해하면 상황에 맞게 사용할 수 있습니다. 학습 목표웹 페이지에서는 메뉴, 게시판, 카테고리, 검색 결과 등 여러 정보를 목록 형태로 보여주는 경우가 많습니다. 이번 포스팅에서는 HTML의 목록 태그인 ul, ol, li를 사용하여 정보를 구조적으로 표현하는 방법을 익..

HTML CSS JS 2026.06.04

[프로그래머스] 배열 회전시키기

문제 설명 정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어집니다. 배열 numbers의 원소를 direction방향으로 한 칸씩 회전시킨 배열을 return하도록 solution 함수를 완성해주세요. 제한사항3 ≤ numbers의 길이 ≤ 20direction은 "left" 와 "right" 둘 중 하나입니다.입출력 예numbersdirectionresult[1, 2, 3]"rigth"[3, 1, 2][4, 455, 6, 4, -1, 45, 6]"left"[455, 6, 4, -1, 45, 6, 4] 나의 코드function solution(numbers, direction) { if (direction === "left") { numbers.push(nu..

코딩테스트 2026.06.04

[프로그래머스] 공 던지기

문제 설명머쓱이는 친구들과 동그랗게 서서 공 던지기 게임을 하고 있습니다. 공은 1번부터 던지며 오른쪽으로 한 명을 건너뛰고 그다음 사람에게만 던질 수 있습니다. 친구들의 번호가 들어있는 정수 배열 numbers와 정수 K가 주어질 때, k번째로 공을 던지는 사람의 번호는 무엇인지 return 하도록 solution 함수를 완성해보세요. 제한사항2 0 numbers의 첫 번째와 마지막 번호는 실제로 바로 옆에 있습니다.numbers는 1부터 시작하며 번호는 순서대로 올라갑니다.입출력 예numbersk result[1, 2, 3, 4]23[1, 2, 3, 4, 5, 6]53[1, 2, 3]32 나의 코드function solution(numbers, k) { const idx = ((k - 1) *..

코딩테스트 2026.06.04

DFS & BFS

그래프 탐색 알고리즘이란 어떤 노드(정점)에서 출발해서 연결된 노드를 빠짐없이 방문하는 방법에 대한 규칙입니다. 오늘은 그 중에서도 가장 기본이 되는 두가지 탐색 방식, DFS와 BFS를 알아보겠습니다. DFS와 BFS란?DFS(Depth-First Search, 깊이 우선 탐색) 는 한 방향으로 갈 수 있는데까지 끝까지 들어갔다가, 더 갈 곳이 없으면 되돌아와서 다른 방향을 탐색하는 방식입니다. BFS(Breadth-First Search, 너비 우선 탐색) 는 출발 노드에서 가까운 노드부터 먼저 전부 방문하고, 그 다음 거리에 있는 노드들을 방문하는 방식입니다. 쉽게 말하면, DFS는 "일단 끝까지 파고들기", BFS는 "주변부터 차근차근 퍼져나가기"라고 볼 수 있습니다. 핵심 개념① DFS..

알고리즘 2026.06.01

[프로그래머스] 가위 바위 보

문제 설명가위는 2 바위는 0 보는 5로 표현합니다. 가위 바위 보를 내는 순서대로 나타낸 문자열 rsp가 매개변수로 주어질 때, rsp에 저장된 가위 바위 보를 모두 이기는 경우를 순서대로 나타낸 문자열을 return하도록 solution 함수를 완성해보세요. 제한사항0 rsp와 길이가 같은 문자열을 return 합니다.rsp는 숫자 0, 2, 5로 이루어져 있습니다.입출력 예rspresult"2""0""205""052" 나의 코드function solution(rsp) { let answer = ""; for (let i = 0; i 방식1. rsp는 문자열이므로 for문을 사용해 한 글자씩 순회한다.2. 현재 문자가 "2", "0", "5" 중 무엇인지 if문으로 확인한다.3. 각..

코딩테스트 2026.05.31

[프로그래머스] 진료순서 정하기

문제 설명외과의사 머쓱이는 응급실에 온 환자의 응급도를 기준으로 진료 순서를 정하려고 합니다. 정수 배열 emergency가 매개변수로 주어질 때 응급도가 높은 순서대로 진료 순서를 정한 배열을 return하도록 solution 함수를 완성해주세요. 제한사항중복된 원소는 없습니다.1 ≤ emergency의 길이 ≤ 101 ≤ emergency의 원소 ≤ 100 입출력 예emergencyresult[3, 76, 24][3, 1, 2][1, 2, 3, 4, 5, 6, 7][7, 6, 5, 4, 3, 2, 1][30, 10, 23, 6, 100][2, 4, 3, 5, 1] 나의 코드function solution(emergency) { const sorted = [...emergency].sort((..

코딩테스트 2026.05.27

1-3 HTML 자주 쓰는 태그

안녕하세요 이번 포스팅에서는 HTML을 배울 때 가장 먼저 만나게 되는 태그들을정리해 보았습니다. 웹 페이지는 단순히 글자를 나열하는 게 아니라, 태그를 통해 각 요소의 역할과 위치를 브라우저에게 알려주는 것이 핵심입니다. 처음에는 태그 종류가 많아서 막막하게 느껴질 수 있지만, 오늘 소개하는 7가지 태그를 잘 익혀두면 기본적인 웹 페이지 구조는 충분히 만들 수 있습니다. 학습 목표웹 페이지를 만들 때는 제목인지 · 본문인지 · 특정 영역인지 구조를 구분해야 합니다. 이번 포스팅에서는 가장 기본이 되는 HTML 태그들을 통해 웹 페이지의 구조를 나누는 방법을 익혀보겠습니다. 텍스트 구조를 잡아주는 태그 (h1~h6, p) 를 이해한다영역을 나누는 태그 (div, span) 의 차이를 이해한다줄바꿈과 ..

HTML CSS JS 2026.05.26

해시 테이블(Hash Table)

자료구조란 데이터를 어떤 형식으로 저장하고 관리할지를 정해놓은 방식입니다. 쉽게 말하면 "이 데이터는 이렇게 담아두면 꺼내 쓸 때 훨씬 편하다"는 보관 방식이라고 볼 수 있습니다. 오늘은 그 중에서도 실무에서 가장 많이 쓰이는 자료구조 중 하나인 해시테이블을 알아보겠습니다. 해시테이블이란?해시테이블(Hash Table)은 키(Key)와 값(Value)을 쌍으로 저장하는 자료구조입니다. 쉽게 말하면 "이 이름에 해당하는 정보는 여기 있다"는 식으로, 이름표를 달아서 데이터를 보관하는 방식입니다. 데이터를 저장할 때 키를 해시 함수(Hash Function)라는 수식에 넣어 특정 번호(인덱스)를 계산하고, 그 번호에 해당하는 버킷(Bucket)이라는 칸에 값을 넣습니다. 해시테이블을 배우는 이유학교..

자료구조 2026.05.26