본문 바로가기

공부72

[백준] 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.
[백준] 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.