https://www.acmicpc.net/problem/1937 1937번: 욕심쟁이 판다 n*n의 크기의 대나무 숲이 있다. 욕심쟁이 판다는 어떤 지역에서 대나무를 먹기 시작한다. 그리고 그 곳의 대나무를 다 먹어 치우면 상, 하, 좌, 우 중 한 곳으로 이동을 한다. 그리고 또 그곳에서 대나무를 먹는다. 그런데 단 조건이 있다. 이 판다는 매우 욕심이 많아서 대나무를 먹고 자리를 옮기면 그 옮긴 지역에 그 전 지역보다 대나무가 많이 있어야 한다. 만약에 그런 지점이 없으면 이 판다는 불만을 가지고 단식 투쟁을 하다가 죽게 된다(-_-) 이 www.acmicpc.net [코드 - Python3] import sys sys.setrecursionlimit(10**8) input = sys.stdin.r..
https://www.acmicpc.net/problem/2583 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오른쪽 위 꼭짓점의 x, y좌표값이 빈칸을 사이에 두고 차례로 주어진다. 모눈종이의 왼쪽 아래 꼭짓점의 좌표는 (0,0)이고, 오른쪽 위 꼭짓점의 좌표는(N,M)이다. 입력되는 K개의 직사각형들이 모눈종이 전체를 채우는 경우는 없다. www.acmicpc.net [풀이] BFS로 풀었다. 처음 문제를 접근했을 때, BFS보다 DFS를 떠올랐다. BFS로 하게되면 인접한 부분의 카운트횟수가 같기때문이다. 나중에..
https://www.acmicpc.net/problem/1915 1915번: 가장 큰 정사각형 첫째 줄에 n, m(1 ≤ n, m ≤ 1,000)이 주어진다. 다음 n개의 줄에는 m개의 숫자로 배열이 주어진다. www.acmicpc.net [풀이] 프로그래머스 가장큰 정사각형 풀이를 참고하면 됩니다. 2020/04/20 - [알고리즘/Programmers] - [프로그래머스] 가장 큰 정사각형 [프로그래머스] 가장 큰 정사각형 https://programmers.co.kr/learn/courses/30/lessons/12905 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업.. ek12mv2.tistory..
https://www.acmicpc.net/problem/1339 1339번: 단어 수학 첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어진다. 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 대문자로만 이루어져있다. 모든 단어에 포함되어 있는 알파벳은 최대 10개이고, 수의 최대 길이는 8이다. 서로 다른 문자는 서로 다른 숫자를 나타낸다. www.acmicpc.net [ 풀이 ] 백트래킹으로 시도하려다가, 백트래킹으로하면 시간초과가 나왔고 스터디 멤버와 블로그 탐색을 도움삼아서 다시 시도했다. 풀이 방법은 그리디를 이용하여 풀었다. (1) 문자열 길이를 기준으로 정렬한다. [ GCF, ACDEB ] =>[ ACDEB, GCF ] (2) 알파벳이 위치한 자릿수를 더한다. ..
https://www.acmicpc.net/problem/1987 1987번: 알파벳 문제 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으로 이동할 수 있는데, 새로 이동한 칸에 적혀 있는 알파벳은 지금까지 지나온 모든 칸에 적혀 있는 알파벳과는 달라야 한다. 즉, 같은 알파벳이 적힌 칸을 두 번 지날 수 없다. 좌측 상단에서 시작해서, 말이 최대한 몇 칸을 지날 수 있는지를 구하는 www.acmicpc.net [풀이] 이전에 맞았다고했는데, 데이터 추가로 재채점한 결과 틀린 상태가 되어서 다시 풀어보기로 했다. DFS를 이용해서 풀었다. MAP의 ..
https://www.acmicpc.net/problem/2096 2096번: 내려가기 첫째 줄에 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 숫자가 세 개씩 주어진다. 숫자는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 중의 하나가 된다. www.acmicpc.net [풀이] [코드] import sys input=sys.stdin.readline N=int(input()) MAP=[ [*map(int, input().strip().split())]for _ in range(N)] DP_MAX=[ [0]*3 for _ in range(2)] DP_MIN=[ [0]*3 for _ in range(2)] DP_MAX[0][0]=DP_MIN[0][0]=MAP[0][0] DP_MA..
https://www.acmicpc.net/problem/1022 1022번: 소용돌이 예쁘게 출력하기 첫째 줄에 r1, c1, r2, c2가 주어진다. 모두 절댓값이 5000보다 작거나 같은 정수이고, r2-r1은 0보다 크거나 같고, 49보다 작거나 같으며, c2-c1은 0보다 크거나 같고, 4보다 작거나 같다. www.acmicpc.net [풀이] 소용돌이의 위치에 따라서 왜 이 값이 나오는지 규칙성을 확인하면 풀 수 있다! 실제로 이 풀이는 내가 직접 생각해서 푼 풀이가 아니다. 블로그를 참고했다..ㅠ 블로그의 저자의 간결하고 명쾌한 코드.. 배워간다. ㅠㅠ 내가 시도한 코드와 다르게 (r1,c1), (r2,c2)의 위치를 변경하지 말고 그대로 둔다. 그리고 이 풀이는 점의 위치값에 따라 나오는 ..
https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. www.acmicpc.net [풀이] 순열(Permutations)를 이용하여 풀 수 도있는데 DFS 연습겸으로 DFS를 이용하여 풀었다. [코드 Python] import sys from copy import deepcopy input=sys.stdin.readline def dfs(visited, nums): global M, N if len(nums)==M: print(' '.join(nums)) else: ..
- Total
- Today
- Yesterday
- 참고
- 스마트폰중독
- TDD
- jest
- 미완
- nestjs
- 한달어스
- git
- 습관개선
- OS
- vscode
- 개발용어
- 한달독서
- MySQL
- node.js
- 갓생살자
- Nest.js
- Mongoose
- 바이트디그리
- Jekyll
- RDBMS
- MongoDB
- 디지털디톡스
- gem
- 클린아키텍쳐
- nestjs jest
- 나도 할 수 있다
- IT용어
- typeORM
- TypeScript
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |