본문 바로가기

전체 글275

COS Pro 1급 C언어 모의고사 - 피자 문제 설명 피자별 크기와 가격이 주어질 때, 가장 큰 피자의 크기와 가장 싼 피자의 가격을 찾으려 합니다(단, 크기가 같은 피자나 가격이 같은 피자는 없다고 가정합니다). 이를 위해 다음과 같이 구조체를 정의했습니다. typedef struct Pizza { int size; int price; }Pizza; 또한 다음과 같이 프로그램 구조를 작성했습니다. 1. 피자의 크기와 가격으로 구성된 구조체 배열을 생성 및 초기화합니다. 2. 생성한 구조체 배열을 크기의 내림차순으로 정렬합니다. 3. 정렬한 구조체 배열에서 1번째에 있는 피자의 크기를 answer 배열의 첫번째 원소에 담습니다. 4. 구조체 배열을 가격의 오름차순으로 정렬합니다. 5. 정렬한 구조체 배열에서 1번째에 있는 피자의 크기를 answe.. 2023. 11. 28.
COS Pro 1급 C언어 모의고사 - Up and down 문제 설명 UP AND DOWN 게임은 다음과 같은 규칙에 따라 진행하는 게임입니다. 먼저 출제자가 1 이상 ~ K 이하인 자연수 중 하나를 마음속으로 생각합니다. 게임 참가자는 1 이상 ~ K 이하인 자연수 중 아무거나 하나를 말합니다. 만약, 참가자가 말한 숫자가 출제자가 생각한 숫자보다 작다면 출제자는 "UP"이라고 말합니다. 만약, 참가자가 말한 숫자가 출제자가 생각한 숫자보다 크다면 출제자는 "DOWN"이라고 말합니다. 참가자는 출제자가 말하는 "UP", "DOWN" 힌트를 잘 활용해서 출제자가 처음에 생각한 숫자를 맞추면 됩니다. 출제자가 처음에 생각할 수 있는 자연수 범위 K, 게임 참가자가 말한 숫자가 순서대로 담긴 배열 numbers, numbers의 길이 numbers_len, 게임 출.. 2023. 11. 19.
COS Pro 1급 C언어 모의고사 - 주식으로 최대 수익을 내세요 문제 설명 지난 연속된 n일 동안의 주식 가격이 순서대로 들어있는 배열이 있습니다. 이때, 다음 규칙에 따라 주식을 사고 팔았을 때의 최대 수익을 구하려 합니다. n일 동안 주식을 단 한 번 살 수 있습니다. n일 동안 주식을 단 한 번 팔 수 있습니다. 주식을 산 날에 바로 팔 수는 없으며, 최소 하루가 지나야 팔 수 있습니다. 적어도 한 번은 주식을 사야하며, 한 번은 팔아야 합니다. 주식을 팔 때는 반드시 이전에 주식을 샀어야 하며, 최대 수익은 양수가 아닐 수도 있습니다. 연속된 n 일 동안의 주식 가격이 순서대로 들어있는 배열 prices와 배열의 길이 prices_len이 매개변수로 주어질 때, 주식을 규칙에 맞게 한 번만 사고팔았을 때 얻을 수 있는 최대 수익을 return 하도록 solut.. 2023. 11. 8.
[BAEKJOON] 알고리즘의 수행 시간 1 예제 입력 아래에 명시되어 있는대로 입력크기 n이 어떤 값이더라도 코드1은 항상 1회 수행되고, 시간복잡도는 O(1)이기 때문에 최고차항의 차수도 항상 0이 출력된다. public class Main { public static void main(String[] args) { System.out.println(1); System.out.println(0); } } [출처] https://www.acmicpc.net/problem/24262 24262번: 알고리즘 수업 - 알고리즘의 수행 시간 1 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시 www.ac.. 2023. 10. 26.
[Programmers] Cos Pro 1급 C 모의고사 - 카드셔플 문제 설명 1부터 n까지 숫자가 적힌 카드 뭉치를 다음 규칙에 따라 카드 뭉치를 섞었을 때, 아래에서부터 k번째에 있는 카드에 적힌 숫자를 알아내려합니다. 카드 뭉치 가장 아래에는 1이 쓰여있으며, 위로 갈수록 숫자가 커집니다. 카드 뭉치를 섞는 규칙은 다음과 같습니다. 1. 카드 뭉치를 정확히 반으로 나눕니다. 2. 두 개로 나뉜 카드 뭉치를 교차로 섞어서 카드 뭉치 하나를 만듭니다. 이때, 항상 1이 적힌 카드가 있는 뭉치를 아래로 놓고 섞습니다. 3. 위 과정을 반복합니다. 예를 들어, 1부터 6까지 숫자가 적힌 카드 뭉치를 3번 섞는다면 과정별로 아래에서부터 적힌 숫자는 다음과 같습니다. 횟수카드 뭉치 1 [1, 4, 2, 5, 3, 6] 2 [1, 5, 4, 3, 2, 6] 3 [1, 3, 5,.. 2023. 10. 12.
[Programmers] Cos Pro 1급 C 모의고사 - 메모장 문제 설명 한 줄에 K자를 적을 수 있는 메모장에 영어 단어들을 적으려 합니다. 영어 단어는 정해진 순서로 적어야 하며, 단어와 단어 사이는 공백 하나로 구분합니다. 단, 한 줄의 끝에 단어 하나를 완전히 적지 못한다면, 그 줄의 나머지 부분을 모두 공백으로 채우고 다음 줄부터 다시 단어를 적습니다. 예를 들어 한 줄에 10자를 적을 수 있고, 주어진 단어가 순서대로 ["nice", "happy", "hello", "world", "hi"] 인 경우 각 줄에 다음과 같이 적을 수 있습니다.('_'는 공백을 나타냅니다.) 첫째 줄 : "nice_happy" 둘째 줄 : "hello_____" 셋째 줄 : "world_hi" 이때, 둘째 줄에 "hello"를 적으면 단어를 적을 수 있는 남은 칸은 5칸이며,.. 2023. 10. 6.