분류 전체보기
프로그래머스 - 혼자 놀기의 달인 JS
문제 혼자서도 잘 노는 범희는 어느 날 방구석에 있는 숫자 카드 더미를 보더니 혼자 할 수 있는 재미있는 게임을 생각해냈습니다. 숫자 카드 더미에는 카드가 총 100장 있으며, 각 카드에는 1부터 100까지 숫자가 하나씩 적혀있습니다. 2 이상 100 이하의 자연수를 하나 정해 그 수보다 작거나 같은 숫자 카드들을 준비하고, 준비한 카드의 수만큼 작은 상자를 준비하면 게임을 시작할 수 있으며 게임 방법은 다음과 같습니다. 준비된 상자에 카드를 한 장씩 넣고, 상자를 무작위로 섞어 일렬로 나열합니다. 상자가 일렬로 나열되면 상자가 나열된 순서에 따라 1번부터 순차적으로 증가하는 번호를 붙입니다. 그 다음 임의의 상자를 하나 선택하여 선택한 상자 안의 숫자 카드를 확인합니다. 다음으로 확인한 카드에 적힌 번..
프로그래머스 - 부대복귀 JS
문제 [약간 PTSD오는 제목..] 강철부대의 각 부대원이 여러 지역에 뿔뿔이 흩어져 특수 임무를 수행 중입니다. 지도에서 강철부대가 위치한 지역을 포함한 각 지역은 유일한 번호로 구분되며, 두 지역 간의 길을 통과하는 데 걸리는 시간은 모두 1로 동일합니다. 임무를 수행한 각 부대원은 지도 정보를 이용하여 최단시간에 부대로 복귀하고자 합니다. 다만 적군의 방해로 인해, 임무의 시작 때와 다르게 되돌아오는 경로가 없어져 복귀가 불가능한 부대원도 있을 수 있습니다. 강철부대가 위치한 지역을 포함한 총지역의 수 n, 두 지역을 왕복할 수 있는 길 정보를 담은 2차원 정수 배열 roads, 각 부대원이 위치한 서로 다른 지역들을 나타내는 정수 배열 sources, 강철부대의 지역 destination이 주어졌..
try-catch 에러 처리하기
const API_ENDPOINT = "http://localhost:4001"; const REQUEST_ERROR = { 0: { msg: "데이터 없음", data: null }, 500: { msg: "요청 실패", data: null }, }; const request = async (url) => { try { const response = await fetch(url); const data = await response.json(); if (response.status !== 200) { //서버 요청오류일 때 throw REQUEST_ERROR[response.status]; } if (!data.data.length) { //서버에 데이터가 없을 때 throw REQUEST_ERROR[d..
local Storage 사용하기
localStorage DB나 쿠키를 이용하지 않고도 브라우저 내에 key-value 값을 저장할 수 있음 쿠키와 다른점 쿠키보다 용량이 많아서 더 많은 데이터를 저장할 수 있음 쿠키는 HTTP 요청 헤더에 포함되어서 서버에 전송되지만, localStorage는 서버로 전송되지 않음 쿠키는 만료기간을 설정할 수 있지만, localStorage는 수동으로 삭제하지 않는 이상 유지됨 쿠키는 여러 도메인에서 공유가 가능하지만, localStorage는 독립적으로 유지됨(http냐 https냐에 따라서도 다르게 유지) 쿠키는 서버로 전송이 가능하기 때문에 서버와 상호작용을 통해 많은 일을 할 수 있고 localStorage는 클라이언트 측에서 진짜 저장만 할 수 있음 사용 setItem으로 저장하고, getIt..
백준 1411 - 비슷한 단어 JS
문제 만약 어떤 단어A를 숌스럽게 바꿔서 또다른 단어 B로 만든다면, 그 단어는 비슷한 단어라고 한다. 어떤 단어를 숌스럽게 바꾼다는 말은 단어 A에 등장하는 모든 알파벳을 다른 알파벳으로 바꾼다는 소리다. 그리고, 단어에 등장하는 알파벳의 순서는 바뀌지 않는다. 두 개의 다른 알파벳을 하나의 알파벳으로 바꿀 수 없지만, 자기 자신으로 바꾸는 것은 가능하다. 예를 들어, 단어 abca와 zbxz는 비슷하다. 그 이유는 a를 z로 바꾸고, b는 그대로 b, c를 x로 바꾸면, abca가 zbxz가된다. 단어가 여러 개 주어졌을 때, 몇 개의 쌍이 비슷한지 구하는 프로그램을 작성하시오. 접근법 일단 문제가 너무 이해하기 힘들게 해놨음.. a -> z : 그 다음에 나오는 a는 무조건 z로 바꿔야 하고, ..
백준 2309 - 일곱 난쟁이 JS
문제 왕비를 피해 일곱 난쟁이들과 함께 평화롭게 생활하고 있던 백설공주에게 위기가 찾아왔다. 일과를 마치고 돌아온 난쟁이가 일곱 명이 아닌 아홉 명이었던 것이다. 아홉 명의 난쟁이는 모두 자신이 "백설 공주와 일곱 난쟁이"의 주인공이라고 주장했다. 뛰어난 수학적 직관력을 가지고 있던 백설공주는, 다행스럽게도 일곱 난쟁이의 키의 합이 100이 됨을 기억해 냈다. 아홉 난쟁이의 키가 주어졌을 때, 백설공주를 도와 일곱 난쟁이를 찾는 프로그램을 작성하시오. 일곱 난쟁이를 찾을 수 없는 경우는 없음 경우의 수가 여러개인 경우 그 중 한개만 출력은 오름차순으로 접근법 9명 중에서 2명을 뺐을 때 그 합이 100이 되는 경우를 구하면 되는데, 완전탐색으로 9개 중 7개를 선택해서 합이 100이 되는지를 찾을 수도 ..