일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 우선순위큐
- 파이썬
- 누적합
- Java
- BFS
- C#강의
- c#
- 완전탐색
- JPA
- popleft
- appendleft
- Python
- LCM
- python3
- 소수판별
- 소수찾기
- spring
- DP
- mvc
- 1일1솔
- 브루투포스
- pypy3
- 인프런
- 백준
- unity
- 프로그래머스
- 합 구하기
- deque
- 그리디 알고리즘
- 연관관계
- Today
- Total
목록분류 전체보기 (139)
jae_coding

문제 문제 링크 문제 접근 사탕의 종류: C(빨간색), P(파란색), Z(초록색), Y(노란색) N x N 행렬에 사탕을 채워넣는다. 사탕의 색이 다른 인접한 두칸을 고른다. 고른 칸에 들어있는 사탕을 서로 교환한다. 가장 긴 연속적인 부분 행 또는 열을 고른 후 사탕의 최대 개수를 출력한다. 코드 import sys def board_max_value(board, N): row_count, col_count = 1, 1 # 행 개수 확인 for i in range(N): temp = 1 for j in range(1, N): if board[i][j-1] == board[i][j]: temp += 1 else: row_count = max(row_count, temp) temp = 1 row_count..

문제 문제 링크 문제 접근 브루투포스 알고리즘을 이용하여 접근한다. 이전 리스트의 값보다 크면 sum value에 더하고 새로운 리스트에 추가해준다. 아니라면 sum value = 0으로 선언해준다. 코드 import sys N = int(sys.stdin.readline()) lst = list(map(int, sys.stdin.readline().split())) result = list([0]) up_sum = 0 if N == 1: print(0) else: for i in range(1, N): temp = lst[i] - lst[i-1] if temp > 0: up_sum += temp result.append(up_sum) else: up_sum = 0 print(max(result)) 느낀..

1. Unity > Preferences 2. External Tool > External Script Editor에서 VS code로 변경 3. VS code 종료 후 실행 > 자동완성 기능 사용 가능

문제 문제 링크 문제 접근 우선순위를 가진 Queue인 우선순위 큐를 이용하면 될 것이다. N개 만큼은 정수형을 받았을 때, 순위에서 가운데 숫자를 말하면 되는 것이다. 만약 N개중에 짝수번째라면 우선순위 큐 1에 푸쉬를 해준다. 하지만 홀수번째라면 또 다른 우선순위 큐 2에 받아온 값에 -1을 곱한 값을 푸쉬해준다. 우선순위 큐 1의 가장 큰 값의 절대값이 우선순위 큐 2의 가장 작은 값보다 작게된다면 중간수가 변하는 것이므로 두개의 부호를 바꾸어주어 서로 스왑해준다. 출력: t에서 가장 작은 값을 부호를 바꾸어 출력하면된다. 코드 import sys, heapq # 1~2: 1, 3~4: 2, 5~6: 3 ...... N = int(sys.stdin.readline()) q = list() t = l..

문제 문제 링크 문제 접근 DFS - 모든 노드를 방문하고 싶을 때 사용한다. - Root node를 시작으로 다음 분기까지 넘어가기 전에 완전히 탐색하는 것!! - 한 방향으로 계속 탐색을 하다가 더 이상 탐색할 수 없을 때, 갈림길로 돌아와 완전히 탐색한다. - 어떤 노드를 방문했었는지 여부를 반드시 확인해야한다. BFS - Root node를 시작해서 인접한 노드를 먼저 탐색하는 방법 - 시작점에서 가장 가까운 점을 먼저 방문한다 -> 최단 경로나 임의의 경로를 찾고 싶을 때 사용한다 - 재귀적으로 동작하지 않으며, queue를 이용하여 반복적 형태로 구현한다. 코드 import sys from collections import deque # N: 정점의 개수, M: 간선의 개수, V: 탐색을 시작..

1. Unity 설치 unity 설치 사이트 Unity Unity is the ultimate game development platform. Use Unity to build high-quality 3D and 2D games, deploy them across mobile, desktop, VR/AR, consoles or the Web, and connect with loyal and enthusiastic players and customers. unity.com IOS Build Support 추가하기 2. Xcode 설치 3. Unity (File > Build Setting) Run in Xcode: Lastest version Run in Xcode as: Debug. (Xcode에서 lo..

처음 유니티로 만든 게임 2일동안 유니티에 대한 공부를 조금씩 해보다가 만들어본 게임이다. 비록 이번에는 모바일게임이 원래 존재하는 게임이었지만, 스킬만 배운다는 생각으로 만들어보았다. 나름 유니티 프레임워크가 간편하고 C#에 대하여 공부를 해보면서 게임에 대한 흥미가 더더욱 생기는 듯 하다. 다음에는 자체적인 게임을 유니티를 통해서 만들어보아야겠다.

Unity 설치 unity 설치 사이트 Unity Unity is the ultimate game development platform. Use Unity to build high-quality 3D and 2D games, deploy them across mobile, desktop, VR/AR, consoles or the Web, and connect with loyal and enthusiastic players and customers. unity.com 강의 자료 조코딩 Flappy Bird 조코딩 유니티 플래피버드 만들기 강의 자료입니다 animalface.site 1. 게임 요소에 필요한 이미지를 프로젝트 내의 Asset에 추가한다. (이미지는 한 이미지에 여러 게임적 요소들이 존재하는 ..

문제 문제 링크 문제 접근 DP를 이용하여 제곱수가 N보다 작은 자연수보다 작거나 같게하여 최소한의 제곱수를 사용한다. 코드 import sys N = int(sys.stdin.readline()) dp = [i for i in range(N+1)] for i in range(1, N+1): for j in range(1, i): if pow(j, 2) > i: break if dp[i] > dp[i - pow(j, 2)] + 1: dp[i] = dp[i - pow(j, 2)] + 1 print(dp[N]) 느낀점 루프 안에 조건 문을 합쳐서 깔끔하게 만들어 보려고 했으나 그것은 실해했다. break로 루프를 빠져 나가야 시간 초과가 뜨지 않는다. 이 부분에 대하여 아시는 분 계시다면 댓글 남겨주시면 감..

문제 문제 링크 문제 접근 바이토닉 부분 수열이라는 것은 예를 들어 1 2 3 4 5 4 3 2 1 등과 같이 오름차순으로 정렬되었다가 내림차순으로 정렬이 된 수열 일컷는다. 바이토닉 수열은 이전에 구현한 가장 긴 증가하는 부분수열을 이용하는 것이다. 가장 긴 증가하는 부분 수열 알고리즘과 기존 수열의 reverse한 후 가장 긴 증가하는 부분 수열 알고리즘 결과 값을 더한 후 + 1을 해주면 된다. 코드 import sys N = int(sys.stdin.readline()) seq = list(map(int, sys.stdin.readline().split())) dp = [0] * N for i in range(N): for j in range(i): if seq[i] > seq[j]: dp[i] ..