본문 바로가기
반응형

전체 글236

[이분 탐색] 알고리즘 설명 및 예제 풀이 이분 탐색(Binary Search) 이분 탐색은 코딩 테스트에 많이 출제되는 문제 중 하나입니다. 이분 탐색의 주요 조건은 정렬되어 있는 배열입니다. 순차탐색의 경우 배열의 처음부터 끝까지 배열의 모든 원소를 체크합니다. 이분탐색은 탐색 범위를 절반씩 줄여가며 찾아가는 탐색 방법입니다. 예를 들어보겠습니다. [ 9, 4, 2, 5, 3, 8 ] 다음과 같은 리스트가 주어졌을 때 숫자 2를 찾는다고 가정해 보겠습니다. 이분탐색을 위해 먼저 정렬을 해줍니다. [ 2, 3, 4, 5, 8, 9 ] 먼저 배열의 중간에 위치한 5와 2를 비교합니다. 2는 5보다 작으므로, 탐색 범위를 5의 왼쪽에 있는 원소들로 줄일 수 있습니다. 이제 탐색 범위는 [ 2, 3, 4 ]이 됩니다. 이번에는 중간 원소인 3과 2를.. 2019. 9. 10.
[BOJ 1157] 단어 공부 - 파이썬 풀이 문제 보기 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 문제 해설 알파벳 소문자 a-z의 아스키코드는 97 ~ 122이고, 대문자 A-Z의 아스키코드는 65_90입니다. 아스키 코드 변환하는 방법은 2019/09/10 - [DEVLOG/Algorithms] - [BOJ 11654] 아스키 코드 - 파이썬 풀이 문자열에서 각 문자의 개수를 세는 방법은 count() 함수를 사용하는 것입니다. "baaa"라는 문자열이 주어졌을 때, word.count('a')를 통해 'a'의 개수 3을 얻을 수 있습니다. 각 문자별로 개수를 리스트에 저장하고.. 2019. 9. 10.
[BOJ 10809] 알파벳 찾기 - 파이썬 풀이 문제 보기 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다. www.acmicpc.net 문제 해설 find() 함수는 문자열에서 문자의 첫 번째 위치를 찾을 수 있는 함수입니다. a부터 z까지 순회하며, 문자열에서 해당 문자의 위치를 리스트에 저장하면 됩니다. 파이썬(Python) 풀이 alphabet_list = [] S = input() for ascii_code in range(97, 123): alphabet_list.append(S.fi.. 2019. 9. 10.
[BOJ 1152] 단어의 개수 - 파이썬 풀이 문제 보기 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열의 앞과 뒤에는 공백이 있을 수도 있다. www.acmicpc.net 문제 해설 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어집니다. 주어진 문자열에서 몇 개의 단어가 있는지 카운팅하는 문제입니다. 파이썬에서 문자열을 자를 때 split() 함수를 사용합니다. 문자열 "The Curious Case of Benjamin Button"이 주어졌을 때 split() 함수를 사용하면 ["The", "Curious", "Case", "of", "Benjamin", "Butt.. 2019. 9. 10.
[BOJ 11654] 아스키 코드 - 파이썬 풀이 문제 보기 https://www.acmicpc.net/problem/11654 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 해설 입력으로 주어진 글자의 아스키 코드 값을 출력하는 문제입니다. 파이썬에서 문자를 아스키 코드(ASCII Code)로 변환하려면 ord() 함수를 사용합니다. ※ 만약 출력 결과를 16진수로 나타내려면 hex() 함수를 붙여줍니다. ※ 반대로 아스키 코드를 문자로 변환하려면 chr() 함수를 사용합니다. 파이썬(Python) 풀이 print(ord(input())) 2019. 9. 10.
[차트 분석 기초] 신뢰성 높은 7가지 패턴을 알아보자 기술적 분석(Technical analysis)의 세계에서 특정 패턴에 대해서 많이 언급하지만, 실제 시장에서 얼마나 정확한지 논의하는 사람은 거의 없습니다. 이런 패턴을 이해하는 것은 시장의 흐름을 이해하고, 매매 기회를 신속하게 판단하는데 매우 유용합니다. ​ 신뢰성을 기준으로 Best 7 패턴에 대해 알아보겠습니다. ​ 7. Bull Flag Pattern (67.13% Success) and Bear Flag Pattern (67.72% Success) 아래 Ascending channel/Descending channel과 다른 점은 Flag pattern의 경우, 약 20여개의 캔들로 이루어져있다는 점입니다. ​ 6. Ascending Triangle Pattern (72.77%) and De.. 2019. 9. 9.
반응형