목차 Index 인덱스란 말 그대로 색인이다. 여기선 주어진 데이터베이스에서 원하는 자료를 빨리 찾을 수 있도록 도와주는 일종의 자료구조라 할 수 있다. 원하는 테이블의 컬럼(둘 이상도 가능하다)에 인덱스를 생성한다는 말은 데이터베이스 내부에서 해당 컬럼이 저장된 주소값을 가지는 자료구조를 테이블과 논리, 물리적으로 독립된 구조로 설계하는 것을 가리킨다. 이때 생성되는 인덱스는 컬럼의 값과 물리적 주소를 키/밸류로 가지는 구조를 가지며, 이를 이용해 빠른 탐색이 가능해진다. 참고로 인덱싱을 하지 않은 테이블의 경우, 원하는 값을 얻어내기 위해 모든 테이블을 스캔하는 Table Scan을 실행하며, 이는 최악의 경우 O(n)의 시간복잡도를 가지게 된다. 더 나가기 전에 장/단점과 인덱싱을 사용하기 좋은 환..
문제 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. 출력 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다. 풀이 소싯적에 자바로 처음 이 문제를 만났을 때 꽤 고생했던 기억이 있다. 대부분의 문제가 그렇듯이 알고나면 별 ..
이번엔 주어진 값 중에 최대값이 몇 번째 위치하는지 판별하는 문제이다. 최대값을 찾는 함수 max()를 이용해 값을 구한 뒤에, 역시 리스트에서 바로 지원하는 index()를 사용하면 끝. 이쯤 되니까 배열의 존재 의미가 의심스럽다. 그래서 없애버린 건지도.. import sys a = [] for i in range(9): a.append(int(sys.stdin.readline())) print(max(a), a.index(max(a)) + 1, sep='\n')
문자열에서 해당 인덱스의 값을 뽑아와 숫자로 매핑한다. 자바에도 물론 같은 기능이 있지만 파이썬이 확실히 코드가 짧다(아직까지는). print() 마지막에 붙은 sep='\n'은 리스트의 각 원소를 개행문자로 나눠주는 역할을 한다. a = int(input()) b = input() x = int(b[2]) y = int(b[1]) z = int(b[0]) print(a * x, a * y, a * z, a * int(b), sep='\n')
문제 아홉 개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다. 입력 첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다. 출력 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다. 풀이 스트림을 이용해 간단하게 풀어보았다. import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Prob2562St..
indexOf(), lastIndexOf()는 String이나 문자열 배열에서 특정 값의 인덱스를 찾는 메서드이다. 문자열로 된 변수나 배열만 가능한 이유는 java.lang.String 클래스에 속한 메서드기 때문이다. 정확하게는 문자열 배열이 아닌 List로 변환을 해서 사용해야 한다. 정수형으로 사용하고자 한다면 구아바 등의 라이브러리를 쓰는 것도 방법이 될 수 있겠다. 어쨌거나 둘의 차이는 간단하다. indexOf() - 배열(문자열)의 왼쪽부터 탐색, 처음 등장하는 인덱스 반환 lastIndexOf() - 배열(문자열)의 오른쪽부터 탐색, 처음 등장하는 인덱스 반환 사용 예제를 확인하자. import java.util.Arrays; public class Main { public static v..
- Total
- Today
- Yesterday
- 세계여행
- RX100M5
- 백준
- 여행
- 기술면접
- 지지
- 동적계획법
- 유럽여행
- Python
- 칼이사
- 맛집
- 남미
- spring
- BOJ
- 유럽
- 파이썬
- 리스트
- 면접 준비
- a6000
- 중남미
- 알고리즘
- 세모
- 스트림
- Backjoon
- java
- 세계일주
- Algorithm
- 야경
- 자바
- 스프링
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |