일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 가상화
- JavaScript
- 백엔드
- 자바스크립트
- 프론트엔드
- 백준
- BFS
- kubernetes
- 클라우드
- next.js
- 컴퓨터공학
- es6
- CSS
- 쿠버네티스
- 파이썬
- 리액트
- AWS
- node.js
- 이더리움
- TypeScript
- 타입스크립트
- HTML
- 솔리디티
- 알고리즘
- 블록체인
- k8s
- 이슈
- 웹
- docker
- react
- Today
- Total
목록알고리즘 (13)
즐겁게, 코드
자바스크립트의 .forEach, .map 등 메서드를 활용하면 현재 순회중인 요소와 인덱스를 함께 얻을 수 있습니다. const array = [a, b, c]; array.forEach((item, index) => { console.log(`item: ${item} / index: ${index}`); } // item: a / index : 0 // item: b / index : 1 // item: c / index : 2 이는 배열의 요소에 접근할 때 인덱스로 접근할 것이냐, 요소 자체에 접근할 것이냐를 고민하지 않게 해주어 코드 퀄리티와 생산성을 높여주기도 하는데요, 파이썬에서는 항상 이런 고민을 해야만 했습니다. string = "Hello, World!" # 순회중인 요소에 직접 접근할 것..
[문제 링크] - https://www.acmicpc.net/problem/6603 6603번: 로또 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 수는 k (6 < k < 13)이고, 다음 k개 수는 집합 S에 포함되는 수이다. S의 원소는 오름차순으로 www.acmicpc.net N과 M 유형의 백트래킹 문제입니다. 단, 중복된 수를 뽑아서는 안되며 로또번호를 오름차순으로 나열해야 한다는 점만 유의하시면 되는 문제입니다. 정답 코드 (Python) S = [] lottery = [0] * 13 visited = [] def backTrack(depth): global S if depth == 6: for i in range(6): print(l..
[백준 온라인 저지 링크] 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net 입력이 약간 마음에 들지 않는 문제였습니다! 첫째 줄에서 M, N을 입력받아 무의식적으로 M = 행, N = 열인줄 알았지만, 실제 풀이에서는 N = 행, M = 열로 바꿔 풀어야 했네요 ㅡㅡ! 이외에는 2667번 단지번호붙이기, 1012번 유기농 배추 등의 문제와 동일한 방법으로 해결할 수 있는 문제였습니다. [정답 코드 - Python] from collections import deque M, N, K = ma..
[백준 온라인 저지 링크] 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net [정답 코드 - Python] from collections import deque N = int(input()) T = int(input()) # connection : 컴퓨터 / infected : 감염여부 connection = [0] infected = [False] * (N + 1) # 초기 입력 for _ in range(T): connection.append(list(map(int, input().split()))) def DF..
[백준 온라인 저지 링크] 1051번: 숫자 정사각형 N*M크기의 직사각형이 있다. 각 칸은 한 자리 숫자가 적혀 있다. 이 직사각형에서 꼭짓점에 쓰여 있는 수가 모두 같은 가장 큰 정사각형을 찾는 프로그램을 작성하시오. 이때, 정사각형은 행 또는 www.acmicpc.net (0, 0)부터 시작해 2차원 배열의 각 인덱스를 순회하며 가능한 정사각형을 구한 뒤, 꼭지점의 값들이 모두 같은지 여부를 체크하면 됩니다. 구현 아이디어가 어려운 편은 아니지만, 정사각형의 인덱스가 원래 배열을 넘어서지 않게 하는데 애를 꽤나 먹었었네요. (결국 이 부분은 조건문을 별도로 두어 처리했습니다.) 또, 명시되지 않은 부분이지만 입력으로 1 * 1 배열이 주어지면 0이 아닌 1을 출력해야 합니다. [정답 코드 - Pyt..
[백준 온라인 저지 링크] 1895번: 필터 숫자 9개가 오름차순이나 내림차순으로 정렬되어 있을 때, 중앙값은 다섯 번째 숫자이다. 예를 들어, 1, 3, 4, 1, 2, 6, 8, 4, 10의 중앙값은 4이다. (1 ≤ 1 ≤ 2 ≤ 3 ≤ 4 ≤ 4 ≤ 6 ≤ 8 ≤ 10) 이미지 I는 www.acmicpc.net 2차원 배열을 순회하며 3 * 3 크기의 부분배열을 구한 뒤, 해당 부분배열의 중간값들로 이루어진 배열을 생성합니다. 그리고 중간값들의 배열을 순회하면서 T보다 크거나 같은 값의 개수만 세주면 됩니다! [정답 코드 - Python] R, C = map(int, input().split()) image = [] filtered = [] cnt = 0 def findMid(R, C): glob..
[백준 온라인 저지 링크] 1935번: 후위 표기식2 첫째 줄에 피연산자의 개수(1 ≤ N ≤ 26) 가 주어진다. 그리고 둘째 줄에는 후위 표기식이 주어진다. (여기서 피연산자는 A~Z의 영대문자이며, A부터 순서대로 N개의 영대문자만이 사용되며, 길이 www.acmicpc.net 시작하기 전, 후위 표기식이란 피연산자 뒤에 연산자가 오는 방식을 의미합니다. 다음은 테스트케이스로 주어진 예시의 계산 순서입니다. 대충 후위 표기식에 대해서는 이해가 되셨다면, 눈썰미가 빠른 분들은 한가지 눈치채신게 있으실 겁니다. 이 문제는 스택에 수를 하나씩 넣으면서(push) 연산자를 만나면 이전 두 수를 빼고(pop), 연산을 수행한 값을 다시 스택에 넣으면 됩니다. 그럼 남은 문제는 후위 표기식 문자열의 알파벳을 ..