전체 글 1851

[백준] #18870 좌표 압축 python

https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net 📕 설명 📕 list에 넣은 후 sort하면 넣은 순서를 지킬 수 없다. 이를 지키기 위해서 200개를 담는 배열을 만든 뒤, 나이에 맞게 하나씩 넣는다. 🧑🏻‍💻 나의 풀이 🧑🏻‍💻 N = int(input()) num_list = list(map(int ,input().split())) num_val = sorted(list(set(num_li..

[TIL] 2022.12.27. [겨울방학 기록]

2022년 12월 27일 화요일 12/27 2022 🏃 TIL 🏃 🌎 오늘은 이야기 ! 오늘 하루 한 단어 요약, 키워드 집중이 잘 되는 카공 🧑🏻‍💻 오늘의 코딩 🧑🏻‍💻 🧑🏻‍💻 백준 문제 풀이 메모리 초과 문제 해결 방법에 대해 배웠다. 함수를 그냥 쓰는 것이 아닌, 하나하나 메모리 동작 방식을 이해하도록 하자. 📖 오늘의 독서 📖 [베이즈 통계학] 📚 영어 공부 📚 토익 스피킹 part. 1 🏋🏻🎹 피아노 🎹 G/B F/C 유모레스크 연습 1일차 🏋🏻 헬스 🏋🏻 등 어깨 가슴 오늘도 행복한 하루 !

[백준] #10814 나이순 정렬 python

https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 📕 설명 📕 list에 넣은 후 sort하면 넣은 순서를 지킬 수 없다. 이를 지키기 위해서 200개를 담는 배열을 만든 뒤, 나이에 맞게 하나씩 넣는다. 🧑🏻‍💻 나의 풀이 🧑🏻‍💻 N = int(input()) src = [] src_two = [[] for i in range(200)] for i in range(N): src.append(list(map(str,input().split()))) ..

[백준] #1181 단어 정렬 python

https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 📕 설명 📕 길이를 받아오기 위해서 50개짜리 배열에 숫자에 맞게 append 하여 길이에 맞게 정렬하였다. 🧑🏻‍💻 나의 풀이 🧑🏻‍💻 import sys N = int(input()) src = [] src_fit = [[]for i in range(50)] for i in range(N): src.append(sys.stdin.readline().rstrip()) src.sort(..

[백준] #11651 좌표 정렬하기 2 python

https://www.acmicpc.net/problem/11651 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 📕 설명 📕 list에 값들을 넣고 sort하면 알아서 Python에서 x좌표까지 sort 가능하다. 좌표를 바꾸어 출력을 하기만 하면 된다. 🧑🏻‍💻 나의 풀이 🧑🏻‍💻 import sys N = int(input()) src = [] for i in range(N): x, y = map(int, sys.stdin.readline().sp..

[백준] #11650 좌표 정렬하기 python

https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 📕 설명 📕 list에 값들을 넣고 sort하면 알아서 Python에서 y좌표까지 sort 가능하다. 🧑🏻‍💻 나의 풀이 🧑🏻‍💻 N = int(input()) src = [] for i in range(N): src.append(list(map(int, input().split()))) for x, y in sorted(src): print(..

[백준] #1427 소트인사이드 python

https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 📕 설명 📕 문자열을 뒤집는 것은 [::-1]과 같이 할 수 있다. 이번 문제는 Counter를 사용해서 풀이 하였다. 또는 sorted를 이용할 수도 있다. 🧑🏻‍💻 나의 풀이 1 🧑🏻‍💻 from collections import Counter N = input() result = "" C_N = Counter(sorted(N)) for i in C_N: for j in range(C_N[i]): result += i print(sorted(N)[::-1]) 🧑🏻‍💻 나의 풀이 ..

[백준] #2108 통계학 python

https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 📕 설명 📕 산술평균 : N개의 수들의 합을 N으로 나눈 값 중앙값 : N개의 수들을 증가하는 순서로 나열했을 경우 그 중앙에 위치하는 값 최빈값 : N개의 수들 중 가장 많이 나타나는 값 범위 : N개의 수들 중 최댓값과 최솟값의 차이 *** 최빈값은 Counter를 이용하여 풀이하였다. 🧑🏻‍💻 나의 풀이 🧑🏻‍💻 from collections import Counter import sys N = int(i..

[베이즈 통계학] 2022.12.27.

오늘은 추정이란 일반적으로 복수의 정보로부터 이루어지는 것임을 인지하며 읽어보았다. 그리고 도표로 하는 '직적시행'을 위해서 직적시행의 귀결을 격자 몽양에 그려서 의미를 해석하였다. 확률의 계산이 이를 통해 간편해진다. '종속 시행'과 '독립 시행'의 차이점을 알 수 있다. 여러 가지를 격자 형태로 묶어둔 형태에 대해서 묶음의 확률은 각 확률의 곱이 됨을 알 수 있다. 또, '독립시행 확률의 승법 공식'을 알 수 있다. 또, 스팸메일 필터를 베이즈 추정을 통해 할 수 있다는 사실을 알았다. 이는 '받은 메일을 컴퓨터가 기능적으로 판정한다'로 이루어지며 '당신이 받은 메일이 스팸메일인가 아닌가를 판정하는 것'으로 이루어지지 않는다. 그리고, 스팸 메일에 대해 "스팸 메일일 것이라는 의심이 짙어졌다"가 강해..

Reading 2022.12.27

[백준] #10989 수 정렬하기 3 python

https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 📕 설명 📕 이전 시간 초과를 고려하여 합병 정렬을 사용한 풀이에서의 코드를 사용하자, 메모리 초과가 발생하였다. 메모리를 줄이기 위해 append 사용을 하지 않았다. for 문에서 append 함수를 사용하게 되면, 메모리가 재할당 되어 메모리에 효율적이지 않다. 🧑🏻‍💻 나의 풀이 🧑🏻‍💻 import sys N = int(input()) src = [0] * 10001 for _ in range(N): src..