코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 처음 짠 코드 (틀린 코드) 문제를 푼 시점에서 생각해보니, 문제를 제대로 이해하지 않고 짜면서 접근을 바꾸려다보니 시작부터 틀어졌다. course 개수마다 가장 많은 것들을 answer로 내놓아야 한다는 점을 간과하고, 처음엔 모든 조합을 생성해서 table이라는 딕셔너리에 넣고, 개수가 많은 것들을 컷하면 되는 간단한 문제라고 생각했었다. 그래서 모든 가능한 경우를 table ={} 에 넣고 course 개수로 정렬하고, 전체 조합이 다 있는 딕셔너리 안에서 ..
미국여행 후 정말 오랜만에 푸는 거라 dictionary 문법도 다 까먹어서 구글링을 통해 고심하며 푼 나의 코드.. 시간초과 날 것 같은데 걱정하며 돌렸지만 그래도 통과는 했다. 그치만 아무리 봐도 맘에 들지 않는 코드 모범 답안을 분석해봐야겠다. 나도 저렇게 효율적인 코드를 짤 수 있도록..! 내 풀이 def solution(id_list, report, k): answer = [] p_dict = {} # {'신고한 유저': ['신고 당한 유저']} declared = {} # 신고 당한 유저 {'name': num} for idl in id_list: p_dict[idl] = '' declared[idl] = 0 for r in report: p1, p2 = r.split() if p2 in p_..

Typescript와 React를 이용한 프로젝트를 진행중이다. 현재 초기 개발단계인데 Naver map api를 사용할 일이 생겼다. 그래서 그 사용법과 현재까지 맞닥뜨린 문제(CORS 에러)들을 정리하고자 한다. navermaps 패키지 설치 우선 React/Typescript 에서 네이버 맵을 사용하기 위해 typescript를 위한 navermaps 패키지를 설치한다. npm install --save @types/navermaps javascript를 사용할 경우 react-naver-maps 패키지를 설치해도 되는데, 해당 패키지에는 typescript 정의가 되어 있지 않아서 위 패키지를 설치해줘야 한다. index.html 에 script 추가 public/index.html 파일에서 bo..
프로젝트를 하던 도중 .mp4 영상을 삽입해야 했다. 평소 이미지 파일 삽입하던 대로 src/assets/ 폴더 아래에 videos 폴더를 만든 뒤 삽입하려 했으나 제대로 작동되지 않았다. 결국 구글링을 통해 https://stackoverflow.com/questions/60794257/react-js-react-player-how-to-play-local-video을 참고해서 영상을 성공적으로 삽입했었다. 해결책은 public 폴더에 videos폴더와 그 아래 영상들을 위치시키고, 필요한 곳에서 url='videos/video1.mp4' 을 통해 불러와 사용하는 것. 로컬로 실행할 땐 아무 문제가 없었기에 역시 스택 오버플로우가 짱이야 하면서 넘어갔었는데... 며칠 뒤 문제가 생겼다. 빌드가 제대로 ..
입력이 많은 문제이다. 시간 초과가 나면 input 대신 sys.stdin.readline() 을 사용할 것!! * 처음에는 주어진 숫자들이 순위가 아니라 점수인 줄 알고 문제 이해를 못했었다.. 문제를 잘 읽자!! 우선 첫번째 순위로 정렬을 해준다. 1 4 2 3 3 2 4 1 5 5 그러고 나면 두번째 순위만 따져주면 된다. rank라는 변수에 첫번째 사원의 두번째 순위를 초기값으로 넣어준다. 아래 사람으로 갈수록 첫번째 순위는 전 사람보다 낮기에 두번째 순위가 rank(이전 사원의 순위)보다 커야 선발이 된다. 1 4 2 3 이 두 사람을 비교할 땐, rank=4와 3을 비교하게 된다. 4등보다 3등이 높으므로 두번째 사람은 선발된다. rank는 더 높은 순위의 것으로 업데이트해준다. 4 1 5 5..
일단 숫자(numbers)와 연산자(operators)를 구분해주었다. 보통 구분자를 기준으로 나눌 때 split 함수를 사용하는데, 여기서는 +, - 두 가지로 구분을 해야하기 때문에 import re 를 통해 여러 개 구분자로 split 해주었다. 아래 코드와 같이 numbers = re.split('[+-]', S) 으로 써주었다. split 기준이 될 기호를 '[ ]' 안에 넣는 형식으로 사용한다. 문제 풀이 아이디어 최솟값이 나와야 하므로 +와 -가 있을 때 최대한 -로 계산되게 하는 것이 문제의 핵심이었다. previous에 이전 연산자를 넣고, now에 현재 계산할 연산자를 넣은 다음, 둘을 비교하여 현재 숫자를 더할지 뺄지 결정하였다. (1) previous = +, now = + 그대로 ..
그리디 기출문제 풀이 1. 모험가 길드 사람들의 공포도 리스트를 오름차순으로 정렬 후, 공포도가 작은 사람부터 그룹을 형성해서 그룹이 최대 개수가 되도록 풀었다. n = int(input()) x = list(map(int, input().split())) x.sort() answer = 0 idx = 0 # 현재 사람의 인덱스 while True: num = x[idx] # 현재 사람의 공포도 answer += 1 if idx + num >= n: # 현재 사람의 공포도만큼 수 추가 break # 만약 n을 넘어가면 break else: # 현재 사람의 공포도만큼 인원 수를 추가했을 때 n을 넘지 않는다면 idx += num # idx 조정하여 다음 사람 따지도록 print(answer) 2. 곱하기 ..
- Total
- Today
- Yesterday
- 생성형AI
- AWSBedrock
- awsgenai
- 파이썬
- 오블완
- 코딩테스트
- S3배포
- SpacewBetween
- partyrock사용볍
- easycode chatGPT
- 알고리즘
- partyrock
- vscode easycode
- aws생성형ai
- partyrock무료
- PYTHON
- partyrock생성
- partyrock앱
- S3 403 forbidden
- BOJ
- 정적 웹사이트 배포
- React native 작동 원리
- 백준
- 술자리병돌리기게임
- 병돌리기구현
- genaiapp
- 티스토리챌린지
- easycode
- ChatGPT
- 정적 웹페이지 배포
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |