전체 글 170

[혈당당, BE 협업] 500에러, 이슈 원인 파악하고 노티 과정

🚩 {{base_url}}/api/v1/admin/users 유저 목록 조회 api 500 에러 Tags BE Date @April 22, 2023 Status Done 구분 이슈 API 반환값 (브라우저 환경) { "timestamp": "2023-04-18T09:11:19.100+00:00", "status": 500, "error": "Internal Server Error", "path": "/api/v1/admin/users" } 포스트맨도 동일 문제 시점 17일 저녁부터 갑자기 안되네요 시간상 Dbeaber로 DB값 만진 다음인 거 같은데, DB 데이터 수정 내역 19번 유저의 email, name 21번 유저의 email만 건드렸습니다! AWS 서버 로그 찍어본 거 > tail -f nohu..

Project 2023.04.27

[구현, 그리디?] 프로그래머스 lv2. 과제 진행하기

문제 프로그래머스 문제 바로가기 요약 * 1. 정해진 시간이 되면 과제를 시작한다. * 2. 진행중이던 건 멈춘다. * 3. 정해둔거 끝나면 멈춰둔거 한다 * 4. 멈춰둔거 여러개면 마지막에 하던거 한다 => 스택 접근 ''' CASE 1. done : 다음꺼까지 남은 시간 >= 소요시간 1-1. wait 리스트 소모 CASE 2. not done : 다음꺼까지 남은 시간 < 소요시간 2-1. wait 으로 넘김 남은 시간 업데이트 ''' def solution(plans): # 과목 , 시작, 소요시간 def getTime(time_str): h, m = map(int, time_str.split(':')) time_int = h*60+m return time_int wait = [] done = []..

[투포인터, 정렬된 배열의 구간합] 프로그래머스 lv2. 연속된 부분 수열의 합

문제 : 연속된 부분 수열의 합 프로그래머스 문제 바로가기 조건 1. 오름차순으로 정렬된 배열 조건 2. 배열의 길이 ≤ 1,000,000 요구사항 : 구간합이 특정 값이 되었을 때, 구간의 인덱스를 반환하라 단, 여러 구간이라면 길이가 짧은 구간을 채택하고, 길이마저 같다면 시작인덱스가 작은 구간을 채택하라. 접근 배열의 크기가 10^6이기 때문에 O(n^2) 알고리즘은 사용할 수 없다. 정렬된 배열의 특성을 최대한 이용한다. 구간합에 관한 문제이기 때문에 투포인터를 사용할 수 있다. (이진탐색은 특정 값을 찾는 데 사용) 내 풀이 def solution(sequence, k): sp = 0 ep = 1 tot = sequence[0] sequence+=[0] answer = [] chance = 1 ..

[합집합, 교집합, 병합 정렬] 프로그래머스 lv2. 뉴스클러스터링

문제 : 프로그래머스 lv2. 뉴스클러스터링 (바로가기)[https://school.programmers.co.kr/learn/courses/30/lessons/17677] 문제 요구사항 // 1. str1과 str2를 정규식을 사용하여 영문만 남기고 숫자, 특수문자 등은 모두 " " 공백처리한다. // 2. 문자열 배열을 구한다. // 영문이 연속으로 나와야 문자열이 유효하다. 따라서 두번째 문자에 " " 공백이 있으면 제외한다. // 3. 문자열 배열의 합집합을 구한다. // 4. 문자열 배열의 교집합을 구한다. // 5. 답을 구한다.내 풀이 def solution(str1, str2): def getJachard(a,b): common=[] for each in a: if each in b: b...

[스택, 수 비교] 프로그래머스 lv2. 뒤에 있는 큰 수 찾기

lv.2 뒤에 있는 큰 수 찾기 문제 바로가기 다른 분 풀이.. # def solution(numbers): # answer = [-1]*(len(numbers)) # stack = [] # for i in range(len(numbers)): # while stack and numbers[stack[-1]] < numbers[i]: # answer[stack.pop()] = numbers[i] # stack.append(i) # return answer * 다시 써보기.. 어렵다..... def solution(numbers): long = len(numbers) answer = [-1] * long stack = [] # for i in range(long): while stack and number..

[프로그래머스] lv.0 옹알이(1) - 반복문 주의

https://school.programmers.co.kr/learn/courses/30/lessons/120956# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 순열 조합으로 풀어 봄 틀린 풀이 from itertools import permutations def solution(babb): answer = 0 possible = ["aya", "ye", "woo", "ma"] cand = set() for i in range(1,5): for comb in permutations(possible, i): cand.add(''.join(comb)) #..

[독서] 시간을 주체적으로 사용하기, 메이크타임

메이크 타임 도서 구입 링크 [전자책] 메이크 타임 스프린트를 일상생활에 적용해 조직이 아닌 개인에 초점을 맞춘다. 시간과 집중력, 에너지를 극대화하는 일과 삶의 시간관리법이다. ‘하이라이트, 초집중, 에너지 충전, 돌아보기’의 4단계 프 www.aladin.co.kr 지금까지의 시간 사용 한 권의 열매책을 끝내며 얼마나 사사로운 일에 치여 시간을 허비하고 있는 지 인지하기 시작했다. 내 하루의 대부분은 갑자기 시작한 가습기 청소, 물마시다가 시작한 저녁 식사 준비 등으로 가득 차 있었다. 그러는 사이 주요 과업의 데드라인은 하루하루 밀리고 있었다. 바쁘기만 한데 성취가 없다고 느꼈고, 매일이 무력감과의 소리없는 전투였다. 메이크 타임의 접근 우연히 발견해 읽게 된 메이크 타임은 '들어가는 말'에서부터 ..

log ✎⁾⁾⁾ 2023.02.18

[gcd, 최대공약수] 프로그래머스 lv 0. 유한소수 판별하기

문제 문제 바로가기 유클리드 호제법이란 정수 A와 B가 있다. A * s + B * t = r 을 만족하는 정수 s와 t가 있다는 것을 전제로 최대공약수 r을 구한다. 128과 42를 예시로 식을 풀어보자면, 128_s + 42_t = 최대공약수 r 128 = 42 * 어떤 몫 + r 형식으로 표현하고, 42와 r을 계속해서 풀어나가다 보면 나머지가 0이 된다. 그 때 마지막으로 대입됐던 수(이전 식의 나머지였던 수)가 128과 42의 최대 공약수가 된다. 128과 54 예시 128 = 54 * 2 + 20 54 = 20 * 2 + 14 20 = 14 * 1 + 6 14 = 6 * 2 + 2 6 = 2 * 3 + 0 따라서 2가 128과 54의 최대공약수이다. gcd는 최대공약수를 구할 때 사용한다. 파..

[set, 집합, 기본] 프로그래머스. 외계어 사전

https://school.programmers.co.kr/learn/courses/30/lessons/120869 아래의 문제 조건이 집합으로 풀 수 있게 했음 dic과 spell 모두 중복된 원소를 갖지 않습니다. 집합을 이용한 풀이 def solution(spell, dic): spell = set(spell) for word in dic: if not spell-set(word): return 1 return 2 원래 내 풀이 def solution(spell, dic): answer = 2 checked = [0]*len(spell) check_dir = {key:idx for idx, key in enumerate(spell)} for word in dic: for letter in word:..