일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- programmers
- candies
- Interview Preparation Kit
- BFS: Shortest Reach in a Graph
- 머신러닝
- Special String Again
- 야근지수
- python
- 프로그래머스
- Common Child
- 격파르타 합격후기
- 파이썬
- [sqld]자격증합격
- Max Array Sum
- Roads and Libraries
- Recursion: Davis' Staircase
- Algorithm
- Find the nearest clone
- 격파르타 장점
- 매칭점수
- 격파르타 후기
- 해커랭크
- hackerrank
- 코딩테스트
- 구슬탈출2
- 백준
- 알고리즘
- DFS: Connected Cell in a Grid
- Reverse Shuffle Merge
- 피보나치 함수
- Today
- Total
목록전체 글 (77)
Archive
먼저 SQLD 합격 인증부터 하겠습니다! 24년도 새해가 되면서 데이터 관련 자격증을 취득하는걸 목표로 했던 찰나 격파르타 챌린지가 눈에 띄었습니다. 무료 강의는 경험상 잘 듣지 않게 되었지만, 합격할 경우 환급받을 수 있다길래 일단 합격을 하고 환급받자는 생각으로 신청하였습니다. [좋았던 점]1. 시험 변경사항 반영시험을 볼 때 불안했던점이 시험 범위가 변경되었다는 점인데요. 만약 강의 내용이 과거 기준으로 녹화되어서 최신 변경사항이 반영되지 않았을까 조금 걱정했었습니다. 하지만 보시다시피 개정된 부분에 대해서도 강의가 있어 충분히, 걱정 없이 강의내용을 들을 수 있었습니다. 2. 노션으로 정리된 깔끔한 강의노트강의를 결제하면 강의노트가 노션으로 주어지는데 깔끔하면서도 내용이 잘 정리되어있어 아주 좋았..
추천시스템 관련 연구를 진행하며, baseline으로 삼을만한 데이터를 한번 찾아봤습니다. 필요한 요건은 아래와 같았습니다. User, Item, Interaction 데이터가 필요합니다. user 데이터는 고객의 CRM정보(성별, 나이, 지역 등)가 필요했고, 더 나아가 도메인에 따른 피쳐들(커머스같은 경우, 1달 안 동안 페이지 방문 수, 1달 동안 구매 횟수 등)이 있으면 더욱 좋은 데이터라 할 수 있겠습니다. Item 데이터는 user와 마찬가지로 item에 대한 속성정보를 의미합니다. 예를 들어, 커머스 데이터같은 경우 상품의 대분류, 중분류, 소분류, 가격, 1달안의 결제 횟수 등이 있으면 좋을 것 같습니다. Interaction 데이터는 간단하게 (user_id, item_id, 날짜)가 있..
www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net 풀이 DFS를 사용하는 문제 모든 경우의수를 다 시도해봄. max_val, board를 글로벌 변수로 두고 사용. 해당 위치에서 숫자가 바뀌었는지 안바뀌었는지 정보도 저장해야함. 4, 4, 4, 4 -> 오른쪽으로 -> 0, 0, 8, 8이 되어야함 (cf. 0, 0, 8, 8에서 0, 0, 0, 16이 되면 안됨.) # 입력 받음 n = int(input()) board = [li..
www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net 풀이 BFS를 사용하는 문제 4가지(위쪽, 오른쪽, 아래쪽, 왼쪽)에 대해 빨간공, 파란공이 움직인 결과, 이동 거리 정보가 필요 움직일때 격자 밖으로 벗어나지 않고, '#'이 아니고, 현재 위치가 'O'이 아니면 해당 방향으로 한칸씩 계속 이동 이동했는데, 빨간공, 파란공이 겹칠 때 이동거리를 기준으로 위치를 다시 조정해줌 # 입력 받기 n, m = map(i..
www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 풀이 메모이제이션 문제 0, 1의 개수 정보를 글로벌 변수로 선언해 입력값 들어왔을 때 기존에 계산한 정보 있으면 바로 리턴해줌. 그리고 계산정보 없을경우 이전 개수 정보를 기반으로 최소한의 계산만 수행해 시간을 단축 # global 변수로 0, 1 카운트 정보 놔둠 zero = [1, 0] one = [0, 1] def solution(n): # 입력값 n이 이전 정보에 있을 경우 -> 바로 값을 리턴함.(중복계산 방지) if n
www.acmicpc.net/problem/10451 10451번: 순열 사이클 1부터 N까지 정수 N개로 이루어진 순열을 나타내는 방법은 여러 가지가 있다. 예를 들어, 8개의 수로 이루어진 순열 (3, 2, 7, 8, 1, 4, 5, 6)을 배열을 이용해 표현하면 \(\begin{pmatrix} 1 & 2 &3&4&5&6&7&8 \\ 3 www.acmicpc.net 풀이 DFS문제. 처음 시작노드 -> 방문안한노드를 방문 -> 방문한 노드를 마주치면 while문 밖으로 처음 시작노드 = 최종 도착노드일 경우(cycle) count 변수 +1해줌. def solution(): n = int(input()) lst = [0] + list(map(int, input().split())) cnt = 0 vi..
www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 풀이 queue를 사용한 BFS문제. def solution(M, N, m): rs = 0 visited = [[False for _ in range(N)] for _ in range(M)] queue = [[0, 0]] m[0][0] = 1 # 상, 하, 좌, 우 dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] while queue: x, y = queue.pop(0) for idx in range(4): next_x =..
www.acmicpc.net/problem/1303 1303번: 전쟁 - 전투 첫째 줄에는 전쟁터의 가로 크기 N, 세로 크기 M(1 ≤ N, M ≤ 100)이 주어진다. 그 다음 두 번째 줄에서 M+1번째 줄에는 각각 (X, Y)에 있는 병사들의 옷색이 띄어쓰기 없이 주어진다. 모든 자리에는 www.acmicpc.net 풀이 queue를 사용한 DFS문제. visited 2차원 리스트를 만들어 방문했는지 여부를 저장 첫 시작점 방문 -> DFS로 갈수 있는 모든 점 방문 방문하면서 visited를 업데이트 방문 끝나면 다시 순차적으로 다음 위치 탐색(visited에 이미 방문했으면 건너뜀) def solution(M, N, m): """ M : 가로 N : 세로 m : 병사 배치 매트릭스 """ w_s..