일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- http 개념
- 12761번 돌다리
- go
- 정렬
- 자바
- 하둡
- String 함수
- ddd
- 자바 디자인 패턴
- golang struct
- domain driven develop
- 도메인 주도 개발
- hadoop
- 도메인 주도 개발 시작하기
- 자바 디자인패턴
- 백준 파이썬
- flask
- 우분투
- 트리 순회
- MongoDB Realm
- 고 배열
- http 완벽가이드
- golang
- 백준
- 백준 12761번
- 12761 돌다리
- 파이썬
- 백준 사이트
- 몽고디비 렘
- 백준 12761
- Today
- Total
목록[ Algorithm ] (95)
개발바닥
문제 https://www.acmicpc.net/problem/11058 11058번: 크리보드 N = 3인 경우에 A, A, A를 눌러 A 3개를 출력할 수 있다. N = 7인 경우에는 A, A, A, Ctrl-A, Ctrl-C, Ctrl-V, Ctrl-V를 눌러 9개를 출력할 수 있다. N = 11인 경우에는 A, A, A, Ctrl-A, Ctrl-C, Ctrl-V, Ctrl-V, Ctrl-A, Ctrl-C, Ctrl www.acmicpc.net 문제 해결 방법 DP를 활용해서 문제를 해결할 수 있다. 먼저 초기값으로 i번째 인덱스에는 A를 i번 누른 횟수로 초기화를 하고 버퍼에 있는 값을 복사하기 까지 총 3번에 커맨드 횟수가 필요하므로 컨트롤 v를 한번 두번 세번 누른 최대값을 비교 후 갱신해주면..
문제 https://www.acmicpc.net/problem/10942 10942번: 팰린드롬? 총 M개의 줄에 걸쳐 홍준이의 질문에 대한 명우의 답을 입력으로 주어진 순서에 따라서 출력한다. 팰린드롬인 경우에는 1, 아닌 경우에는 0을 출력한다. www.acmicpc.net 문제 해결 방법 효율적으로 풀기 위해서는 DP 알고리즘 사용해야 된다. 2차원 배열 변수 DP를 선언 후 Bottom - up 방식으로 문제를 해결하면 된다. 시작과 끝에 해당되는 인덱스에 값이 같으면 안에가 팰린드롬인지 아닌지만 알고 있으면 된다. if( arr[시작] 과 arr[끝]이 같고 dp[시작+1][끝-1]이 팰린드롬이라면) DP[시작][끝] = 팰린드롬이다. 소스 코드 보기 https://github.com/joker..
문제 https://www.acmicpc.net/problem/14442 14442번: 벽 부수고 이동하기 2 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 1,000), K(1 ≤ K ≤ 10)이 주어진다. 다음 N개의 줄에 M개의 숫자로 맵이 주어진다. (1, 1)과 (N, M)은 항상 0이라고 가정하자. www.acmicpc.net 문제 해결 방법 이동하면서 벽을 얼만큼 부수고 이동했는지 방문 변수를 통해서 확인을 한다. 방문 변수를 3차원으로 선언 후 visited[벽 부순 횟수][y좌표][x좌표] 를 이용해서 접근하고 bfs로 문제를 풀면 쉽게 해결할 수 있다. 소스 코드 보기 https://github.com/jokerKwu/BOJ_Algorithm/blob/master/BFS/..
문제 https://www.acmicpc.net/problem/2864 2864번: 5와 6의 차이 문제 상근이는 2863번에서 표를 너무 열심히 돌린 나머지 5와 6을 헷갈리기 시작했다. 상근이가 숫자 5를 볼 때, 5로 볼 때도 있지만, 6으로 잘못 볼 수도 있고, 6을 볼 때는, 6으로 볼 때도 있지만, 5� www.acmicpc.net 문제 해결 방법 내장함수 replace를 사용해서 최소값을 구할때는 6을 5로 최대값을 구할때는 5를 6으로 변경 후 더해서 출력하면 된다. 소스 코드 보기 https://github.com/jokerKwu/BOJ_Algorithm/blob/master/python/BOJ_2864.py jokerKwu/BOJ_Algorithm Contribute to jokerKw..
문제 https://www.acmicpc.net/problem/12761 12761번: 돌다리 동규와 주미는 일직선 상의 돌 다리 위에있다. 돌의 번호는 0 부터 100,000 까지 존재하고 동규는 \(N\)번 돌 위에, 주미는 \(M\)번 돌 위에 위치하고 있다. 동규는 주미가 너무 보고싶기 때문에 최대�� www.acmicpc.net 문제 해결 방법 bfs로 문제 해결 방법을 접근했습니다. 총 이동 가능한 경우 8가지를 현재 위치에서 다음 위치를 계산해서 범위를 벗어나지 않았고 처음 방문했다면 큐에 넣으면 된다. 소스 코드 보기 https://github.com/jokerKwu/BOJ_Algorithm/blob/master/python/BOJ_12761.py jokerKwu/BOJ_Algorithm ..
문제 https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 문제 해결 방법 top -bottom 방식으로 현재 숫자에서 3가지 연산을 했을 때 인덱스 값이 0 이라면 현재숫자까지 이동한 횟수 +1 을 해서 값을 갱신해준다. dp[연산 후 값] = dp[연산 전 값] +1 소스 코드 보기 https://github.com/jokerKwu/BOJ_Algorithm/blob/master/python/BOJ_1463.py jokerKwu/BOJ_Algorithm Contribute to jokerKwu/BOJ_Algorithm development by creating ..
문제 https://www.acmicpc.net/problem/1371 1371번: 가장 많은 글자 첫째 줄부터 글의 문장이 주어진다. 글은 최대 5000글자로 구성되어 있고, 공백, 알파벳 소문자, 엔터로만 이루어져 있다. 그리고 적어도 하나의 알파벳이 있다. www.acmicpc.net 문제 해결 방법 문제에서 입력을 eof 날때까지 받기 위해서 파이썬에서는 두 가지 방법이 있다. # sys read를 이용하는 방법 import sys line = sys.stdin.read() #try except 이용하는 방법 line = '' while True: try: line = input() except EOFError: break 문장을 입력을 받고 한글자씩 꺼내서 알파벳에 해당되는 인덱스에 카운팅해서 ..
문제 https://www.acmicpc.net/problem/14225 14225번: 부분수열의 합 수열 S가 주어졌을 때, 수열 S의 부분 수열의 합으로 나올 수 없는 가장 작은 자연수를 구하는 프로그램을 작성하시오. 예를 들어, S = [5, 1, 2]인 경우에 1, 2, 3(=1+2), 5, 6(=1+5), 7(=2+5), 8(=1+2+5)을 만들 � www.acmicpc.net 문제 해결 방법 주어진 수열에서 나올 수 있는 모든 수들을 구하고 1부터 200만까지 for문을 돌면서 만들 수 없는 수를 발견하면 출력만 해주면 된다. 소스 코드 보기 https://github.com/jokerKwu/BOJ_Algorithm/blob/master/python/BOJ_14225.py jokerKwu/BO..