전체 글

무엇이든 할 수 있는 개발 블로그
· 💻 cs
🔍 APS란 무엇인가 APS : Algorithm Problem Solving 나도 강의에서 처음 듣게 된 APS,, 한번 정리해보려 한다. 우선 APS는 알고리즘 문제 풀이 방법을 말한다. 알고리즘 문제 풀이법에는 많은 것들이 있고, 그중에서 주어진 문제에 따라 원하는 결과를 낼 수 있도록 프로그램을 작성하는 것이 목표이다. 그렇다면 APS 공부는 왜 해야 할까 ?? 1. 알고리즘 풀이법을 공부하면서 문제 구현력을 기를 수 있다. 2. 다양한 문제가 발생하는 경우의 디버깅 경험을 쌓을 수 있을 것이다. 알고리즘 문제 풀이를 하며 발생하는 오류들을 접해보고, 이러한 오류를 해결해 나가는 과정 자체에서 우리는 많은 것을 배우고 성장할 수 있다. 3. 논리적으로 사고하는 법을 배우게 된다. 여러 알고리즘을 ..
📑 문제 설명 평면에 네 개의 직사각형이 놓여 있는데 그 밑변은 모두 가로축에 평행하다. 이 네 개의 직사각형들은 서로 떨어져 있을 수도 있고, 겹쳐 있을 수도 있고, 하나가 다른 하나를 포함할 수도 있으며, 변이나 꼭짓점이 겹칠 수도 있다. 이 직사각형들이 차지하는 면적을 구하는 프로그램을 작성하시오. ⌨️ 입력 입력은 네 줄이며, 각 줄은 직사각형의 위치를 나타내는 네 개의 정수로 주어진다. 첫 번째와 두 번째의 정수는 사각형의 왼쪽 아래 꼭짓점의 x좌표, y좌표이고 세 번째와 네 번째의 정수는 사각형의 오른쪽 위 꼭짓점의 x좌표, y좌표이다. 모든 x좌표와 y좌표는 1이상이고 100이하인 정수이다. 🖥️ 출력 첫 줄에 네개의 직사각형이 차지하는 면적을 출력한다. 입력 예제 1 : 1 2 4 4 2 ..
📑 문제 설명 점심시간이 되면 반 학생 모두가 한 줄로 줄을 서서 급식을 탄다. 그런데 매일 같이 앞자리에 앉은 학생들이 앞에 줄을 서 먼저 점심을 먹고, 뒷자리에 앉은 학생들은 뒤에 줄을 서 늦게 점심을 먹게 된다. 어떻게 하면 이러한 상황을 바꾸어 볼 수 있을까 고민하던 중 선생님이 한 가지 방법을 내 놓았다. 그 방법은 다음과 같다. 학생들이 한 줄로 줄을 선 후, 첫 번째 학생부터 차례로 번호를 뽑는다. 첫 번째로 줄을 선 학생은 무조건 0번 번호를 받아 제일 앞에 줄을 선다. 두 번째로 줄을 선 학생은 0번 또는 1번 둘 중 하나의 번호를 뽑는다. 0번을 뽑으면 그 자리에 그대로 있고, 1번을 뽑으면 바로 앞의 학생 앞으로 가서 줄을 선다. 세 번째로 줄을 선 학생은 0, 1 또는 2 중 하나의..
📑 문제 설명 왕비를 피해 일곱 난쟁이들과 함께 평화롭게 생활하고 있던 백설공주에게 위기가 찾아왔다. 일과를 마치고 돌아온 난쟁이가 일곱 명이 아닌 아홉 명이었던 것이다. 아홉 명의 난쟁이는 모두 자신이 "백설 공주와 일곱 난쟁이"의 주인공이라고 주장했다. 뛰어난 수학적 직관력을 가지고 있던 백설공주는, 다행스럽게도 일곱 난쟁이의 키의 합이 100이 됨을 기억해 냈다. 아홉 난쟁이의 키가 주어졌을 때, 백설공주를 도와 일곱 난쟁이를 찾는 프로그램을 작성하시오. ⌨ 입력 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. 💻 출력 일곱 난쟁이의 키를 오름차순으로 출력한다. 일..
· 🍵 java
Stack 오늘 stack에 대해 배우면서, 정의와 사용법에 대해 간단히 정리해보고 문제 풀이를 올리려고 한다. 먼저, Stack은 이름에서도 느껴지는 것처럼 쌓아 올리는 자료구조를 말한다. 쉽게 이해하려면, 접시를 쌓아올린다고 생각하면 된다. 그림에서 보는 것과 같이 밑부분이 막혀있는 상자에 접시를 쌓아올리면 새로운 데이터를 넣을 때도 가장 위에 넣고 데이터를 빼낼때도 가장 위에서 빼게 된다. 이러한 자료구조를 LIFO(Last In First Out)이라고 한다. 이런 Stack과 자주 비교되는 Queue는 FIFO 자료구조로, 터널에 비유해서 이해할 수 있다. 💻 Stack 사용법 import java.util.Stack; public class Stack { public static void ma..
문제 정보 초등학교에서는 단체로 2박 3일 수학여행을 가기로 했다. 여러 학년이 같은 장소로 수학여행을 가려고 하는데 1학년부터 6학년까지 학생들이 묵을 방을 배정해야 한다. 남학생은 남학생끼리, 여학생은 여학생끼리 방을 배정해야 한다. 또한 한 방에는 같은 학년의 학생들을 배정해야 한다. 물론 한 방에 한 명만 배정하는 것도 가능하다. 한 방에 배정할 수 있는 최대 인원 수 K가 주어졌을 때, 조건에 맞게 모든 학생을 배정하기 위해 필요한 방의 최소 개수를 구하는 프로그램을 작성하시오. 예를 들어, 수학여행을 가는 학생이 다음과 같고 K = 2일 때 12개의 방이 필요하다. 왜냐하면 3학년 남학생을 배정하기 위해 방 두 개가 필요하고 4학년 여학생에는 방을 배정하지 않아도 되기 때문이다. 입력 표준 입..
c0zi
codelog