본문 바로가기

전체 글74

[백준] 11050번 문제출처: https://www.acmicpc.net/problem/11050 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 11050번, 이항계수 문제다. Combination에 대한 개념만 알고있다면 쉽고 간단하게 식을 세워 풀 수 있다. 가령, N=5, K=2라서 5C2라면 (5x4)/(2x1) = 10. 위아래로 K번 반복해서 1씩 작아지는 수를 곱해주고 식을 print 하면 된다. 2022. 6. 15.
[백준] 1152번 문제출처: https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열 www.acmicpc.net 여러 단어와 포함된 한 문장이 주어지면 거기에 들어간 단어(어절) 개수를, 출력하는 것이다. 떠올리고 할 것도 없이 input().split()으로 받아주고 그 배열 방 개수를 출력해주면 된다. 2022. 6. 15.
[백준] 10773 문제출처: https://www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 내가 하도 브론즈 1짜리와 실버 5짜리라고 덤볐다가 데인게 많아서 그런가... 이번엔 조금 쉽게 풀었다! 유형에 따라 다른 것 같기도 하다. 아무튼 이번 문제는 시간 초과와 런타임 에러 등의 문제 없이 한번에 솔했다. ​ 문제의 내용은 장부를 기록하는 숫자를 적은 도중 잘못 적었으면 0을 입력하여 직전에 적은 숫자를 지운다. 당연하게도 선입후출(FILO.. 2022. 6. 15.
[백준] 2012번 문제출처: https://www.acmicpc.net/problem/2012 2012번: 등수 매기기 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 500,000) 둘째 줄부터 N개의 줄에 걸쳐 각 사람의 예상 등수가 순서대로 주어진다. 예상 등수는 500,000 이하의 자연수이다. www.acmicpc.net 등수를 매기는 문제다. 솔직히 이게 왜 실버 3문제가 된지 모르겠다. 정답율 보고 정해지는 기준인가.. 학생들이 예상한 등수를 보고, 그 등수에 적당히 끼워맞춰서 예상 결과와의 차이를 최소한으로 줄이는 것이다. 실제로 등수 결과를 이렇게 하면 모든 응시자들 사이에서 난리가 났을거다 불만도는 등수-예상등수의 절댓값만큼 쌓인다. 그리고 그 최소한의 불만도 값을 출력하는 것이 문제의 내용이다. ​ .. 2022. 6. 15.
[백준] 1252번 문제출처: https://www.acmicpc.net/problem/1252 1252번: 이진수 덧셈 첫째 줄에 두 개의 이진수가 빈 칸을 사이에 두고 주어진다. 각 이진수는 1 또는 0으로만 이루어져 있으며, 0으로 시작할 수도 있다. 또한 각 이진수의 길이는 80을 넘지 않는다. www.acmicpc.net ​ 1252번 문제는 이진수의 덧셈이다. 이진수 두 개를 더해 그 결과의 이진수를 출력하면 된다. 이진화 시키고 더하는 대신 두 수를 정수(십진수)로 받아 더한 뒤 그걸 이진화 bin()한다. ​ 이때, 그냥 bin 함수만 쓰면 1b0010 이런식으로 ob+2진수변환수로 뜬다. ob를 제거하기 위해 [2:]를 해주자. 귀찮다면 format(num, 'b')를 써주자. (b는 2진수를 의미) ​ 근.. 2022. 6. 15.
[백준] 2417번 문제출처: https://www.acmicpc.net/problem/2417 2417번: 정수 제곱근 정수가 주어지면, 그 수의 정수 제곱근을 구하는 프로그램을 작성하시오. www.acmicpc.net start를 0, end를 n으로 두고 반복때마다 재정의되는 start에서 end까지 가는 반복문을 넣는다. n보다 크거나 같은 최솟값이므로 그 대우는 n보다 작고 같지않은 경우. mid**2 < n을 조건으로 한다. 더 작은 경우 시작점을 더 큰 값으로 두고, 조건을 만족할 경우에는 끝 점을 더 작은 값으로 두고 while문의 조건이 깨질 때까지 반복한다. ​ 2022. 6. 15.