백준42 [백준] 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. [백준] 17478번 문제출처: https://www.acmicpc.net/problem/17478 17478번: 재귀함수가 뭔가요? 평소에 질문을 잘 받아주기로 유명한 중앙대학교의 JH 교수님은 학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다. 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대 www.acmicpc.net 재귀함수가 뭐냐고 묻는 횟수만큼 이야기 보따리 하나를 풀며 마지막에 답변해주는 재귀함수 자동봇(?)이다. 함수 내에서 자기 자신을 호출하는 함수(횟수+1)을 하면 반복문 i++의 효과를 낼 수 있다. 그리고 재귀함수를 종료할 때는 최종으로 출력된 재귀함수부터 역순으로 종료한다. 어디서 많이 본 구조같은 이야기다. 선입후출(FILO)이다. FILO의 대표적인 자료구조는 stack! .. 2022. 6. 15. [백준] 17298번 문제출처: https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 오큰수는 선택중인 숫자 X보다 오른쪽에 있으면서 X보다 큰 수 중 가장 왼쪽에 있는 수를 의미한다. 그런 수가 존재하지 않을 때는 -1을 출력한다. -1을 출력하게 되는 경우는 두 가지다. 1) 맨 오른쪽의 숫자(마지막 번째 숫자)일 때 2) 오른쪽에 있는 숫자중에 X보다 큰 숫자가 없을 때 말을 따지고보면 1이 2에 포함되는 것처럼 보일 수 있다. 하지만 i와 i+1을 비교한다는 점에서 i+.. 2022. 6. 15. [백준] 2460번 문제풀이: https://www.acmicpc.net/problem/2460 2460번: 지능형 기차 2 최근에 개발된 지능형 기차가 1번역(출발역)부터 10번역(종착역)까지 10개의 정차역이 있는 노선에서 운행되고 있다. 이 기차에는 타거나 내리는 사람 수를 자동으로 인식할 수 있는 장치가 있다. www.acmicpc.net 브론드 단계지만 초짜 시절의 나였다면 대강 표 자체를 보고 지레 겁먹으며 뒤로가기를 누를 수도 있었을 문제다. 하지만 정해진 규칙이 매우 많기 때문에 쉽게 풀 수 있다. 기차가 10 정거장에서 멈추는데, 그 사이 승객이 내리고 타는 숫자를 알려준다. 승객이 가장 많이 탄 순간의 승객 수를 출력해주면 된다. 10 정거장이라고 했으므로 for문에서 10번 반복해주면 뚝딱! 처음.. 2022. 6. 15. 이전 1 2 3 4 5 6 7 다음