목록백준 (7)
K_blueprint
도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 또, 1번부터 N번까지 번호가 적혀있는 공을 매우 많이 가지고 있다. 가장 처음 바구니에는 공이 들어있지 않으며, 바구니에는 공을 1개만 넣을 수 있다. 도현이는 앞으로 M번 공을 넣으려고 한다. 도현이는 한 번 공을 넣을 때, 공을 넣을 바구니 범위를 정하고, 정한 바구니에 모두 같은 번호가 적혀있는 공을 넣는다. 만약, 바구니에 공이 이미 있는 경우에는 들어있는 공을 빼고, 새로 공을 넣는다. 공을 넣을 바구니는 연속되어 있어야 한다. 공을 어떻게 넣을지가 주어졌을 때, M번 공을 넣은 이후에 각 바구니에 어떤 공이 들어 있는지 구하는 프로그램을 작성하시오. 첫째 줄에 N과 M이 주어진다.둘째 줄부터 ..
9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오.ex) 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다. 첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100보다 작다. 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다. (풀이 코드)store = [] # 자연수를 저장항 리스트 선언for i in range(9): # 9번 입력을 받고 리스트에 순차적으로 값을 저장하는 반복문 data = int(input()) # 입력..
정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때 A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오. 첫째 줄에 N과 X가 주어진다.둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고 10,000보다 작거나 같은 정수이다. X보다 작은 수를 입력받은 순서대로 공백으로 구분해 출력한다.X보다 작은 수는 적어도 하나 존재한다. (풀이 코드)N, X = map(int, input().split()) # N, X 입력받기while True: # N개의 수를 받았을때만 정상 실행되도록 하는 반복문 A = list(map(int, input().split())) # 리스트로 N개의 정수 저..
총 N개의 정수가 주어졌을 때, 정수 V가 몇 개인지 구하는 프로그램을 작성하시오. 첫째 줄에 정수의 개수 N이 주어진다.둘째 줄에는 정수가 공백으로 구분되어 있다.셋째 줄에는 찾으려고 하는 정수 V가 주어진다.입력으로 주어지는 정수와 v는 -100보다 크거나 같으며, 100보다 작거나 같다. 첫째 줄에 입력으로 주어진 N개의 정수 중에 V가 몇 개인지 출력한다. (풀이 코드)N = int(input()) # 입력받을 횟수(N) 입력while True: # N개의 수를 받았을때만 정상 실행되도록 하는 반복문 data = list(map(int, input().split())) # 리스트로 N개의 정수를 저장 if len(data) == N..
- 본격적으로 for문 문제를 풀기 전에 주의해야 할 점이 있다. 입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있다는 점이다. C++을 사용하고 있고 cin/cout을 사용하고자 한다면, cin.tie(NULL)과 sync_with_stdio(false)를 둘 다 적용해 주고, endl 대신 개행문자(\n)를 쓰자. 단, 이렇게 하면 더 이상 scanf/printf/puts/getchar/putchar 등 C의 입출력 방식을 사용하면 안 된다. Java를 사용하고 있다면, Scanner와 System.out.println 대신 BufferedReader와 BufferedWriter를 사용할 수 있다. BufferedWriter.flush는 맨 마지막에 한 번만 하면 된다. Py..
- 오늘은 혜아의 면접 날이다. 면접 준비를 열심히 해서 앞선 질문들을 잘 대답한 혜아는 이제 마지막으로 칠판에 직접 코딩하는 문제를 받았다. 혜아가 받은 문제는 두 수를 더하는 문제였다. C++ 책을 열심히 읽었던 혜아는 간단히 두 수를 더하는 코드를 칠판에 적었다. 코드를 본 면접관은 다음 질문을 했다. “만약, 입출력이 N바이트 크기의 정수라면 프로그램을 어떻게 구현해야 할까요?”혜아는 책에 있는 정수 자료형과 관련된 내용을 기억해 냈다. 책에는 long int는 4바이트 정수까지 저장할 수 있는 정수 자료형이고 long long int는 8바이트 정수까지 저장할 수 있는 정수 자료형이라고 적혀 있었다. 혜아는 이런 생각이 들었다. “int 앞에 long을 하나씩 더 붙일 때마다 4바이트씩 저장할 ..