일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준 12761번
- flask
- MongoDB Realm
- 트리 순회
- 우분투
- http 개념
- 고 배열
- 백준 파이썬
- 12761 돌다리
- 하둡
- golang
- go
- 자바
- String 함수
- 정렬
- 자바 디자인패턴
- 12761번 돌다리
- 백준 12761
- domain driven develop
- 몽고디비 렘
- ddd
- 자바 디자인 패턴
- http 완벽가이드
- golang struct
- 백준
- 도메인 주도 개발 시작하기
- 백준 사이트
- 파이썬
- hadoop
- 도메인 주도 개발
- Today
- Total
목록전체 글 (211)
개발바닥
문제 https://www.acmicpc.net/problem/2858 문제 해결 방법 2중 반복문을 통해서 모든 경우의 수를 구하였습니다. 가로 세로에 개수가 red가 되는지 먼저 확인 하였습니다. 2중 반복문에서 for( i ...... . ) for( j . .. . . .) 일 때 i는 세로길이이고 j는 가로길이 입니다. 개수를 구할때 세로가 왼쪽 오른쪽에 있고 가로가 위 아래 있으므로 *2를 해주어야됩니다. (i*2)+(j*2) 이렇게만 해주시면 안되고 아래 그림처럼 중복되는 부분이 있으므로 -4를 해주어야됩니다. 그리고 나서 brown도 마찬가지로 중복되는 부분을 빼준 값이 같을 경우 정답을 찾은 것이기 때문에 출력해주면 됩니다. 소스 코드 https://github.com/jokerKwu/B..
문제 https://www.acmicpc.net/problem/1748 문제 해결 방법 자리수 마다 필요한 자리수 개수를 구해서 입력 받은 수에 이전 자리수 까지 모두 더한 뒤 (입력받은 수 - 시작 자리수의 처음 수) * (시작 자리수) 를 더해주면 문제를 해결 하실 수 있습니다. 예제를 통해서 확인해 보겠습니다. 입력 받은 수가 120이라면 세자리 수 이므로 1의자리 , 10의 자리 수의 개수를 모두 더합니다. 9 + 180 이므로 189가 됩니다. 그리고 세자리수의 처음 수는 100이므로 입력 받은 수 120 에서 100을 빼면 20이지만 100에서 120까지에 총 개수는 21이므로 +1을 해주어야 됩니다. 그리고 나온 값에 입력받은 수에 자리수를 곱해주고 더해주면 원하는 값을 얻을 수 있습니다. ..
문제 https://www.acmicpc.net/problem/1251 문제 해결 방법 문제에서 주어진 조건으로 단어를 입력 받았을 때 세 등분으로 나눠서 각각 나눈 단어들을 뒤집어서 합친 단어가 사전순으로 가장 앞서는 것을 출력하는 문제입니다. 세 등분을 나눌 때 문제에서 단어길이가 최소 1이므로 (단어 처음인덱스를 0으로 가정하겠습니다.) 인덱스로 나눈다고 했을 때 단어에서 처음에 나눌 수 있는 범위는 0부터 (단어길이-2) 만큼 나눌 수 있으며 두번째 나눌 수 있는 i(처음 나눈 마지막 인덱스 값)+1 부터 (단어 길이 -1) 만큼 나눌 수 있고 마지막으로 j(두번째 나눈 마지막 인덱스 값)+1 부터 (단어 길이)만큼 나눌 수 있습니다. 글로 보면 어려울 수 있으므로 아래 그림으로 설명 드리겠습니다..
문제 https://www.acmicpc.net/problem/1239 실패한 이유 문제 조건에서 원의 중심을 지나는 선의 개수의 최댓값을 출력해야되는데 그냥 입력한 순에서 개수를 출력하였습니다. (문제 제대로 꼼꼼히 안봤습니다.) 문제 해결 방법 주어진 데이터를 가지고 합해서 정확하게 50이 될 때 이등분선이라고 합니다. 반복문을 돌려서 합이 50이 되는 것을 카운팅 하면 문제를 해결하실 수 있습니다. 여기서 한쪽이 50이되면 반대쪽도 마찬가지로 50이 되므로 카운팅을 한 후 2로 나누어서 출력해주어야 됩니다. 그리고 아래 예시처럼 2번 같은 경우에는 10 40 50 데이터를 입력받아서 차트를 그린모습입니다. 이 차트 경우에는 반복문을 통해서 충분히 잘나올 수 있지만, 1번 차트는 그냥 반복문을 돌리면..
문제 https://www.acmicpc.net/problem/1107 문제 해결 방법 명령어 최소 회수를 구하기 위해서 두가지로 나누었습니다. 1. 채널이동 후 버튼(+ , -) 이동하기 2. (+ - )버튼으로만 이동하기 이 두가지로 나누어서 명령어 횟수가 작은 값을 출력하였습니다. 소스 코드 https://github.com/jokerKwu/BOJ_Algorithm/blob/master/Brute%20force/BOJ_1107.cpp
선형 검색 : 무작위로 늘어놓은 데이터 모임에서 검색을 수행이진 검색 : 일정한 규칙으로 늘어놓은 데이터 모임에서 아주 빠른 검색을 수행 해시법 : 추가,삭제가 자주 일어나는 데이터 몽미에서 아주 빠른 검색을 수행 선형 검색은 가장 단순한 검색 방법으로 원하는 값이 나올 때까지 처음부터 끝까지 순차적으로 탐색하는 방법이므로 생략하겠습니다. 이진 검색은 요소가 오름차순 또는 내림차순으로 정렬된 배열에서 검색하는 알고리즘입니다. 자바에서는 기본자료형 배열에서 이진 검색을 하는 메서드를 표준 라이브러리로 제공합니다. 표준 라이브러리를 사용하기 위해서는 java.util.Arrays 클래스를 import로 추가해주셔야됩니다. 표준 라이브러리 이진 검색 사용 방법 import java.util.Array; int..
문제https://www.acmicpc.net/problem/1953 문제 해결 방법 bfs로 문제를 해결하였습니다. 소스 코드 https://github.com/jokerKwu/BOJ_Algorithm/blob/master/BFS/BOj_1953.cpp
정수값을 임의의 기수로 변환하는 알고리즘을 구현해보겠습니다. 기수란? 수를 나타내느 데 기초가 되는 수로, 10진법에서는 0에서 9까지의 정수를 말합니다. 10진수 0 ... 9까지 10종류의 숫자를 사용하여 수를 나타낸다. 8진수 0 ... 7까지 8종류의 숫자를 사용하여 수를 나타낸다. 16진수 0 ... 9 A...F 총 16 종류의 문자를 사용하여 수를 나타낸다. (10 == A ....15 ==F) 2진수 0 , 1 총 2종류의 문자를 사용하여 수를 나타낸다. 알고리즘 동작 방식 데이터 변수 =1 ... 9 A ... Z 까지 순차적으로 문자들이 저장되어있다. (입력한 정수)%(진수) = 나머지 값 을 데이터 변수 인덱스로 활용해서 출력하고자 하는 변수에 0부터 순차적으로 저장한다 . (나머지 ..