| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 파이썬 시간복잡도
- 백준단어공부
- 백준
- Python dictionary
- 백준파이썬1157
- 인공지능사관학교 5기
- 파이썬리스트문법
- 백준초보
- 파이썬
- 백준3052번나머지
- python set
- 파이썬 딕셔너리 집합 차이점
- 백준파이썬
- 코딩테스트
- 파이썬 집합문법
- 알고리즘
- python list 문법
- Today
- Total
목록분류 전체보기 (45)
종원
문제 내용 문제 예시 내가 푼 방법 입력받은 문장은 길이가 다 같다는 점에서 하나 하나의 인덱스만 다르기에 처음 리스트를 입력받고, 2번째 줄부터는 첫 번째 입력받은 리스트와 비교하면서 다른 인덱스가 있다면 그 자리를 "?" 로 수정하며 풀기로 하였다. 1 2 3 4 5 6 7 8 9 10 11 n = int(input()) first_list = list(input()) for i in range(n-1): cmd_list = list(input()) for j in range(len(first_list)): if first_list[j] != cmd_list[j]: first_list[j] = "?" print(''.join(first_list)) Colored by Color Scripter cs ..
문제 내용 문제 예시 내가 푼 방법 주의 할 점 sort를 쓸 때, 두 번을 진행하였는데 최종결과물이 내가 원하는 대로 나오려면 순서를 맞춰야함 ex) 길이순으로 정렬 한 후(word.sort(key=len)) 다시 오름차순(word.sort())으로 정렬하면 최종적으로는 오름차순으로 정렬하게 됨 따라서 오름차순으로 정렬 한 후 거기서 길이를 맞춰야함 + input() 보다는 sys.stdin.readline()이 훨씬 빠르다. 1 2 3 4 5 6 7 8 9 10 11 n = int(input()) word = [] for _ in range(n): word.append(input()) word = list(set(word)) word.sort() word.sort(key=len) for i in ra..
문제 내용 문제 예시 내가 푼 방법 1 2 3 4 5 6 7 8 9 n = int(input()) num = [0]*n for i in range(n): num[i] = int(input()) num.sort() for j in num: print(j) cs 처음에 리스트의 크기를 결정할 n을 입력받고, 길이 n만큼의 리스트를 생성한다. 그 입력받는 숫자를 for문을 사용하여 리스트의 앞쪽부터 집어넣는다. 이 과정이 끝나면 역순으로 정렬이 되어있기 때문에 sort()함수를 사용하여 올바르게 정렬한 뒤 앞에서부터 하나씩 출력한다. 백준 실버5가 된 후 느낀점. 브론즈문제들은 그냥 머리로만 풀 수 있는 문제들이 많았다. 근데 이제 실버 문제도 도전하고 solved.ac 2클래스를 찍으려고 여러가지 문제들을 ..
문제 내용 문제 예제 처음에는 단순히 n%42가 0이 아닐때만 (나머지가 있을때만) 카운팅 했는데 그렇게 하게되면 문제점이 문제의 내용중 나머지가 서로 다른 값의 개수를 출력하라고 했으므로 중복값이 있어도 count하고 모두가 42의 배수여서 0으로 나누어 떨어지면 카운트가 하나도 되지 않는 문제점이 발생하였다. 내가 푼 방법 1 2 3 4 5 6 7 8 cnt = [] for i in range(10): n = int(input()) r = n%42 cnt.append(r) print(len(set(cnt))) cs cnt[] 를 선언하여 연산 후 나머지를 저장할 수 있는 리스트를 선언하고 변수 n 으로 입력받고 연산값을 r에 저장하였다. r에 저장된 값을 cnt[]에 append하였고, 최종적으로 나..
문제 소개 문제 예시 내가 짠 코드 전체학생 중 낸 학생들의 번호를 하나 하나 제외시킨다. 1 2 3 4 5 6 7 8 students = [i for i in range(1,31)] for _ in range(28): applied = int(input()) students.remove(applied) print(min(students)) print(max(students)) cs 일단 문제에서 1번부터 30번까지의 학생이 있다고 했으니 student 리스트를 만들어서 1~30의 번호를 입력한다. 그리고 문제를 제출한 28명의 학생들의 번호를 입력받기 때문에 28번 반복하며 제출한 학생들의 번호를 입력받는다. 그리고 입력 받으면, student 리스트에서 낸 학생들을 remove한다 그러면 2개의 번호..
문제 소개 문제 예시 내가 푼 방법 일단 s 에 ZzfaqerdfzzZdfq 라고 input() 사용하여 값을입력받는다. (입력값은 작성자가 아무거나 넣었다.) 여기서 입력 받을 때 .upper()를 사용하는데 upper는 입력받을 때, 전부 대문자로 up해서 입력받아주는 함수이다. 그리고 문장에서 단어들의 빈도를 측정하기 위해 list로 변환시킨다. 여기서 s_set을 선언하고 할당으로 list(set(s))를 사용하는데 set은 형변환할 때, 자료형의 중복을 허용하지 않기에 중복을 제거하는 역할로 쓰인다. 그리고 set()을 사용하면 순서는 무작위가 된다. print를 하여 아래 출력된 모습을 보면 이해가 더 쉽다. 그리고 단어 카운트를 위한 cnt[] 리스트 집합을 만들었다. for i in ran..