공부하기 508

[Python] 백준 풀기 10814 - 나이순 정렬

파이썬 백준 10814번 실버5 https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 문제 보기 분류: 정렬 문제 풀기 string 으로 입력받은 값을 정렬하면서 실수하지 않는 것이 중요한것 같다. 예) 9, 10 의 경우. str 타입이면 1이 우선시 되어 10 - 9 로 정렬됨. fnInputMember(N): 으로 모든 값을 str type 2차원 배열로 입력을 받는고 그 결과를 return 해 준다. def fnInputMember(N): memb..

공부하기/백준 2022.10.29

[Python] 백준 풀기 2675 - 문자열 반복

파이썬 백준 2675번 브론즈2 https://www.acmicpc.net/problem/2675 2675번: 문자열 반복 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다 www.acmicpc.net 문제 보기 분류: 문자열 단계, 구현 문제 풀기 아마도 이 문제는 파이썬 보다 다른 언어로 풀었을 경우 중요도가 높을 것 같다. 문제에서 주어진 QR Code alphanumeric 은 "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./:" 로 주어졌고 특수 문자를 프린트하는 데 있어 문제가 발생할 것 같은 예감이 들기 때문이..

공부하기/백준 2022.10.28

[Python] 백준 풀기 11651 - 좌표 정렬하기 2

파이썬 백준 11651번 실버5 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 문제 보기 분류: 정렬 문제 풀기 이전에 풀었던 11650번 문제의 연장선이다. 다시금 key 를 이용한 sort() 함수를 사용해보았다. https://xcevor.tistory.com/75 [Python] 백준 풀기 11650 - 좌표 정렬하기 파이썬 백준 11650번 실버4 https://www.acmi..

공부하기/백준 2022.10.27

[Python] 백준 풀기 3053 - 택시 기하학

파이썬 백준 3053번 브론즈3 https://www.acmicpc.net/problem/3053 3053번: 택시 기하학 첫째 줄에는 유클리드 기하학에서 반지름이 R인 원의 넓이를, 둘째 줄에는 택시 기하학에서 반지름이 R인 원의 넓이를 출력한다. 정답과의 오차는 0.0001까지 허용한다. www.acmicpc.net 문제 보기 분류: 기하 1 단계, 수학, 기하학 문제 풀기 당연하겠지만 택시 기하학이 무엇인지 이해하는 게 이 문제의 포인트인 것 같다. 수학적 무언가를 요구한다기 보다는.. 그리고 필요한 건 원의 정의 "원은 평면 위의 한 점에 이르는 거리가 일정한 평면 위의 점들의 집합으로 정의되는 도형이다." 유클리드 기하학에서 일정한 거리의 점들을 모아놓으면 이미 잘 알고 있는 동그란 원이다. 하..

공부하기/백준 2022.10.26

[Python] 백준 풀기 2563 - 색종이

파이썬 백준 2563번 브론즈1 https://www.acmicpc.net/problem/2563 2563번: 색종이 첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변 www.acmicpc.net 문제 보기 2차원 배열을 활용하여 색종이로 평면을 덮는 문제 분류: 2차원 배열, 구현 문제 풀기 가로와 세로가 100, 100 인 2차원 배열을 만들고 모두 0으로 채워 넣는다. 그리고, 10 by 10 색종이가 위치하는 배열에 0을 1로 채워 넣는다. 2차원 배열로 각 색종이들의 포인트를 입력 받는다. 입력 받은 포인트를 하나씩 꺼내어 시작점에 위치 시킨다. for xy ..

공부하기/백준 2022.10.25

[Python] 백준 풀기 7568 - 덩치

파이썬 백준 7568번 실버5 https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 문제 보기 모든 사람을 비교하여 덩치 등수를 구하는 문제 분류: 구현, 브루트포스 알고리즘 문제 풀기 기준이 되는 한 명을 선택하여 그에 대한 나머지 사람들과 덩치를 비교하여 순위를 매긴다. 2차원 배열 형태로 사람들을 입력받는다. 리스트의 사람 수 만큼 for 문을 돌리면서 변수 i 로 각각 매번 기준을 잡고 j 번째 사람과 비교를 하는데 현재의 사람 ..

공부하기/백준 2022.10.24

[Python] 백준 풀기 11650 - 좌표 정렬하기

파이썬 백준 11650번 실버4 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 문제 보기 분류: 정렬 문제 풀기 sort() 함수에 옵션을 적용하여 사용해 볼 수 있는 문제였다. 2차원 배열로 모든 좌표를 입력 받고, sort() 를 적용해 주는데 key 를 적용하여 원하는 순서로 x, y 좌표를 정렬할 수 있다. 문제에서 제시한 "x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하..

공부하기/백준 2022.10.23

[Python] 백준 풀기 2477 - 참외밭

파이썬 백준 2477번 실버3 https://www.acmicpc.net/problem/2477 2477번: 참외밭 첫 번째 줄에 1m2의 넓이에 자라는 참외의 개수를 나타내는 양의 정수 K (1 ≤ K ≤ 20)가 주어진다. 참외밭을 나타내는 육각형의 임의의 한 꼭짓점에서 출발하여 반시계방향으로 둘레를 돌면서 지 www.acmicpc.net 문제 보기 분류: 기하1, 수학, 구현, 기하학 문제 풀기 가장 긴 가로와 세로로 이루어진 직사각형 땅에서 참외밭만 해당하는 ㄱ형태의 땅만 선택하기 위해서는 필요 없는 부분을 제거해야 한다. 동서남북 방향으로 순차적으로 울타리를 제시해 주는데 이때 제외해야 하는 부분은 예제의 남3 동1 남3 동1과 같이 반복 형태를 띠게 된다. 제시된 입력의 순서에 따라 반복되는 ..

공부하기/백준 2022.10.22

[Python] 백준 풀기 1149 - RGB거리

파이썬 백준 1149번 실버1 https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 문제 보기 문제 풀기 전체 비용의 최솟값을 찾기 위해서 이전 집까지 나온 비용을 계속 비교해 봐야 한다. 그리고 이전 집과 다음 집의 색과 겹치지 않게 하기 위해서 세 가지 색상인 빨강, 초록, 파랑을 기준을 잡고 이 전 색깔의 경우를 생각해 본다. 이 두 가지를 상기하면서 따져보게 되면, 빨강을 기준으로 잡았을 때 이전 집은 초록과 파랑이 가능..

공부하기/백준 2022.10.21

[Python] 백준 풀기 1037 - 약수

파이썬 백준 1037번 브론즈1 https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net 문제 보기 분류: 정수론 및 조합론, 수학, 정수론 문제 풀기 문제에서 모든 약수를 제시해 주기 때문에 이를 리스트로 저장하고 오름차순으로 정리하여 맨 왼쪽 그리고 맨 오른쪽 수를 곱하면 되겠다고 생각하였다. 그런데 내가 이 부분에서 간과한 것이 있었으니 그것은 하나의 수가 제시되었을 때. 예제 입력에도 하나의 수가 있었지만 이 부분은 깜빡 잊고 코드를 작성..

공부하기/백준 2022.10.20