백준 477

[Python] 백준 풀기 2587 - 대표값2

파이썬 백준 2587번 브론즈2 https://www.acmicpc.net/problem/2587 2587번: 대표값2 어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 (10 + 40 + 30 + 60 + www.acmicpc.net 문제 보기 분류: 정렬, 수학, 구현, 사칙연산 문제 풀기 statistics 라이브러리를 사용해 보았다. import statistics 입력받은 모든 값을 리스트에 저장하여, 평균은 statistics.mean() 함수로 찾고 중앙값은 리스트 5개의 원소중 index = 2 에 해당하는 원소를 찾는다. ave = statis..

공부하기/백준 2022.11.04

[JavaScript] 백준 풀기 2577 - 숫자의 개수

자바스크립트 nodejs 백준 2577번 브론즈2 https://www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. www.acmicpc.net 문제 보기 분류: 수학, 구현, 사칙연산 문제 풀기 문제에서 제시한 그대로 세 개의 곱을 계산하여 나온 결과를 0 부터 9 까지 for loop 을 사용하여 찾고자 하였는데 자바스크립트 검색을 하다 보니 더 좋은 아이디어를 보게 되었다. 곱을 하여 계산된 결괏값에 0 ~ 9 중의 숫자가 들어있으면 그 숫자로 분리하고, 그 분리 저장된 배열의 원소의 개수를 기반으로 찾는 방법이다. 코드 보기 let nu..

공부하기/백준 2022.11.03

[JavaScript] 백준 풀기 2588 - 곱셈

자바스크립트 백준 2588번 브론즈3 https://www.acmicpc.net/problem/2588 2588번: 곱셈 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. www.acmicpc.net 문제 보기 분류: 수학, 사칙연산 문제 풀기 줄 바꿈으로 저장되어있는 두 개의 숫자를 문자로 입력받아 각각 나눠 저장한다. const fs = require('fs'); const [num1, num2] = fs.readFileSync('dev/stdin').toString().trim().split('\n'); 첫 번째 입력받은 string 타입의 숫자는 integer 형태로 바꾸어 저장한다. const num1toInt = parseInt(num1); 두 번째 ..

공부하기/백준 2022.11.02

[JavaScript] 백준 풀기 10430 - 나머지

자바스크립트 백준 10430번 브론즈5 https://www.acmicpc.net/problem/10430 10430번: 나머지 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000) www.acmicpc.net 문제 보기 문제 풀기 문제는 나머지 연산에 대한 분배법칙이 어떻게 성립하는지를 이야기하고 있다. 이전에 백준을 풀면서 나머지 분배법칙을 생각지 못해 애를 먹은적이 있었다. 덧셈, 뺄셈, 곱셈에 대해서는 문제에서 제시한것처럼 간단한 형식을 보이지만 나눗셈에 대해서는 독특한 공식을 갖는다. Node.js의 built-in file system module fs 사용하여 파일을 읽어온다. const fs = require('fs'); 빈칸으로 띄어쓰기 되어있는 데이터 "..

공부하기/백준 2022.11.01

[Python] 백준 풀기 1654 - 랜선 자르기

파이썬 백준 1654번 실버2 https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 문제 보기 분류: 이분 탐색, 매개 변수 탐색 문제 풀기 입력 받은 다양한 랜선중 가장 긴 선을 기준으로 하여 mid 값을 지속적으로 찾아 나간다. 이분할 하여 나온 mid 로 모든 랜선을 나누어 목표 개수 N 이 되도록 찾고, N 의 개수가 충족이 되면 최대 길이를 찾기 위한 분할이 계속 일어난다. start 와 end 가 만날때까지....

공부하기/백준 2022.10.31

[Python] 백준 풀기 8958 - OX퀴즈

파이썬 백준 8958번 브론즈2 https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 문제 보기 분류: 1차원 배열, 구현, 문자열 문제 풀기 문자열을 입력받아 각 단위 문자를 리스트 index 하나씩 분리 저장한다. 리스트를 for 문 돌리면서 각 문자 "O", "X" 에 대해 조건을 준다. 문자 O 가 연속적으로 나타날 때마다 누적 점수는 1씩 증가한다. 이때, 처음으로 O 가 나타나면 point 는 0 이기 때문에 if ox..

공부하기/백준 2022.10.30

[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