전체 글 (258) 썸네일형 리스트형 프로그래머스)햄버거 만들기 -python https://school.programmers.co.kr/learn/courses/30/lessons/133502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(ingredient): answer = 0 stack = [] for i in range(len(ingredient)): stack.append(ingredient[i]) if stack[-4:] == [1,2,3,1]: answer += 1 for _ in range(4): stack.pop() return answer 처음엔 단지 ingredient[i:i+4]까지만 .. 프로그래멋) 기사단원의 무기-python https://school.programmers.co.kr/learn/courses/30/lessons/136798 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def getMyDivisor(n): divisorsList = [] for i in range(1, int(n**(1/2)) + 1): if (n % i == 0): divisorsList.append(i) if ( (i**2) != n) : divisorsList.append(n // i) return len(divisorsList) def solution(number, limit, powe.. 프로그래머스) 가장 가까운 같은 글자-python https://school.programmers.co.kr/learn/courses/30/lessons/142086 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 def solution(s): answer = [] dic = {} for i in range(len(s)): if s[i] not in dic: dic[s[i]] = i answer.append(-1) else: a = i - dic[s[i]] answer.append(a) dic[s[i]] = i return answer 처음엔 단순히 for문 두개로 하나씩 검사하려 했지만, 좀 더 짧.. React)Discord 로그인 (with Supabase) 디스코드로 로그인하는 기능을 추가할 필요성이 있었기에 추가했다. 처음엔 클라이언트에서의 로그인만 되길 원했으나 아쉽게도 discord 개발자 문서에 자바스크립트는 node.js만 지원했다. 우선 nodejs로 로그인 하는 방법이다. 디스코드 개발자 포탈로 들어가서 앱을 만들어야한다. https://discord.com/developers/applications로 들어간다. Discord Developer Portal — API Docs for Bots and Developers Integrate your service with Discord — whether it's a bot or a game or whatever your wildest imagination can come up with. discor.. 프로그래머스) 성격 유형 검사-python https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제는 MBTI에서 영감을 받아 카카오에서 제작한 문제같다. def solution(survey, choices): answer = '' dict = {'R':0,'T':0,'C':0,'F':0,'J':0,'M':0,'A':0,'N':0} for i in range(len(choices)): if choices[i] > 4: dict[survey[i][1]] += choices[i] % 4 if.. 프로그래머스) 개인정보 수집 유효기간 -python https://school.programmers.co.kr/learn/courses/30/lessons/150370 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 고객의 약관 동의를 얻어서 수집된 1~n번으로 분류되는 개인정보 n개가 있습니다. 약관 종류는 여러 가지 있으며 각 약관마다 개인정보 보관 유효기간이 정해져 있습니다. 당신은 각 개인정보가 어떤 약관으로 수집됐는지 알고 있습니다. 수집된 개인정보는 유효기간 전까지만 보관 가능하며, 유효기간이 지났다면 반드시 파기해야 합니다. 예를 들어, A라는 약관의 유효기간이 12 달이고, 2021년 1.. 프로그래머스) 게임 맵 최단거리 -python https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 전형적인 BFS 문제다 from collections import deque def solution(maps): answer = 0 col = len(maps) row = len(maps[0]) queue = deque() queue.append((0,0)) dx = [1,-1,0,0] dy = [0,0,-1,1] while queue: x,y = queue.popleft() for i in ran.. 프로그래머스)타겟 넘버 - python https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제는 간단하다 numbers에 숫자들을 모두 더하거나 빼서 target과 같은 숫자를 만들고, 그 경우의 수를 리턴하는 것이다 처음 봤을 때부터 무슨 알고리즘을 써야할지 감도 오지 않았다. 몇시간을 고민했고 검색 끝에 dfs라는 것을 알았으나 정답 코드를 봐도 이해가 되질 않았다 이 한 문제만으로 삼일동안 끙끙 앓아왔고 겨우 이해할 수 있었다. def solution(numbers, target.. 백준 1026) 보물 -python https://www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net 옛날 옛적에 수학이 항상 큰 골칫거리였던 나라가 있었다. 이 나라의 국왕 김지민은 다음과 같은 문제를 내고 큰 상금을 걸었다. 길이가 N인 정수 배열 A와 B가 있다. 다음과 같이 함수 S를 정의하자. S = A[0] × B[0] + ... + A[N-1] × B[N-1] S의 값을 가장 작게 만들기 위해 A의 수를 재배열하자. 단, B에 있는 수는 재배열하면 안 된다. S의 최솟값을 출력.. 프로그래머스) 푸드 파이트 대회 -python https://school.programmers.co.kr/learn/courses/30/lessons/134240\ 문제는 간단하다. 준비된 음식의 갯수가 담긴 리스트 food가 주어지고(0번째는 물) 각 음식은 공평하게 둘로 나뉘어 진다. def solution(food): answer = '' water = [0] second = [] first = [] food.pop(0) for i in range(1,len(food)+1): a = food[i-1] // 2 for j in range(1,a+1): first.append(i) second.insert(0,i) answer = first + water + second return ''.join(str(s) for s in answer) 프로그래머스) 명예의 전당(1) - python https://school.programmers.co.kr/learn/courses/30/lessons/138477 문제가 좀 긴데, 요약하자면 len(score)의 수 만큼 가수가 존재하고, 각 가수는 해당되는데 index+1 날짜에 공연을 하게되어 관객들로부터 점수를 얻게된다. 그 점수는 명예의 전당의 최소 수와 비교되어 만일 해당 날짜에 공연한 가수의 점수가 더 크다면, 당일날 공연한 가수의 점수는 명예의 전당에 오르게 된다. 즉, k = 2, score=[1,2,3,4]라고 했을 때, score의 index로 말하자면 0번째 날 --> 명예의 전당에 아무도 등록되지 않았으므로 명예의 전당에 1이 올라간다 1번째 날 --> 아직 명예의 전당에 k수 만큼 등록된 점수가 없으므로 2가 등록된다 2번째 .. 프로그래머스)과일장수 -python https://school.programmers.co.kr/learn/courses/30/lessons/135808 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 문제 자체는 그리 어렵지 않았다. 단지 주어진 변수 개수가 많아서 헷갈렸기에 다른 lv.1 문제들보다 시간이 좀 더 걸렸다. def solution(k, m, score): answer = 0 score.sort(reverse=True) arr = [] for i in range(0,len(score),m): a = score[i:i+m] if len(a) == m: answer += mi.. 프로그래머스) 크기가 작은 부분문자열 -python https://school.programmers.co.kr/learn/courses/30/lessons/147355 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코드 def solution(t, p): answer = 0 leng = len(p) p = int(p) for i in range(0,len(t) -leng+1, +1): a = t[i:i + leng] a = int(a) if a 백준 7568)덩치 -python https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 설명은 길었지만 짧게 요약하자면, A 의[몸무게,키] B 의[몸무게,키] A의 몸무게와 키 둘 모두가 B의 그것와 크다면 A는 B보다 덩치가 크다 할 수 있다. 만일 둘 중 하나라도 작으면 A는 B보다 덩치가 크다고 할 수 없다. 핵심은 "A의 몸무게와 키 둘 모두가 B의 그것와 크다면 A는 B보다 덩치가 크다 할 수 있다" 이 문항이다. 즉 등수가 올라가는 경우는 몸무게와 키 모두가.. use-query)useInfiniteQuery를 사용해보자. 작업 도중 데이터가 누적되어 쌓일 경우 데이터를 가져오는 것에서 시간이 걸릴 것을 예상해 Infinity Scroll를 구현하려 한다. 원래라면 Debounce 등을 이용해 구현했겠지만, 이미 해당 기능에 대한 라이브러리가 존재했었고, 친절한 Tanstack팀은 use-query에 무한 스크롤 기능까지 만들어두었었다. 우선 use-query의 Infinite Scroll 기능인 useInfiniteQuery는 다음과 같은 형태를 띈다. const {data, isLoading, ..., fetchNextPage} = useInfiniteQuery(key,QueryFn, { ...Options, getNextPageParam:(lastPage, pages) =>{ return lastPage.nextPag.. 이전 1 ··· 14 15 16 17 18 다음