전체 224

[백준 2903] 중앙 이동 알고리즘

[Bronze III] 중앙 이동 알고리즘 - 2903 문제 링크 성능 요약 메모리: 31120 KB, 시간: 44 ms 분류 수학 제출 일자 2023년 12월 1일 19:49:53 문제 설명 상근이는 친구들과 함께 SF영화를 찍으려고 한다. 이 영화는 외계 지형이 필요하다. 실제로 우주선을 타고 외계 행성에 가서 촬영을 할 수 없기 때문에, 컴퓨터 그래픽으로 CG처리를 하려고 한다. 외계 지형은 중앙 이동 알고리즘을 이용해서 만들려고 한다. 알고리즘을 시작하면서 상근이는 정사각형을 이루는 점 4개를 고른다. 그 후에는 다음과 같은 과정을 거쳐서 지형을 만든다. 정사각형의 각 변의 중앙에 점을 하나 추가한다. 정사각형의 중심에 점을 하나 추가한다. 초기 상태에서 위와 같은 과정을 한 번 거치면 총 4개의..

[백준 10798] 세로읽기

[Bronze I] 세로읽기 - 10798 문제 링크 성능 요약 메모리: 31252 KB, 시간: 48 ms 분류 구현, 문자열 제출 일자 2023년 11월 30일 23:27:15 문제 설명 아직 글을 모르는 영석이가 벽에 걸린 칠판에 자석이 붙어있는 글자들을 붙이는 장난감을 가지고 놀고 있다. 이 장난감에 있는 글자들은 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’부터 ‘9’이다. 영석이는 칠판에 글자들을 수평으로 일렬로 붙여서 단어를 만든다. 다시 그 아래쪽에 글자들을 붙여서 또 다른 단어를 만든다. 이런 식으로 다섯 개의 단어를 만든다. 아래 그림 1은 영석이가 칠판에 붙여 만든 단어들의 예이다. A A B C D D a f z z 0 9 1 2 1 a 8 E W g ..

[백준 10811] 바구니 뒤집기

[Bronze II] 바구니 뒤집기 - 10811 문제 링크 성능 요약 메모리: 31120 KB, 시간: 44 ms 분류 구현, 시뮬레이션 제출 일자 2023년 11월 28일 16:25:13 문제 설명 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2번째 바구니, ..., 가장 오른쪽 바구니를 N번째 바구니라고 부른다. 도현이는 앞으로 M번 바구니의 순서를 역순으로 만들려고 한다. 도현이는 한 번 순서를 역순으로 바꿀 때, 순서를 역순으로 만들 범위를 정하고, 그 범위에 들어있는 바구니의 순서를 역순으로 만든다. 바구니의 순서를 어떻게 바꿀지 주어졌을 때, M번..

[백준 5597] 과제 안 내신 분..?

[Bronze V] 과제 안 내신 분..? - 5597 문제 링크 성능 요약 메모리: 31120 KB, 시간: 44 ms 분류 구현 제출 일자 2023년 11월 28일 16:09:09 문제 설명 X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다. 교수님이 내준 특별과제를 28명이 제출했는데, 그 중에서 제출 안 한 학생 2명의 출석번호를 구하는 프로그램을 작성하시오. 입력 입력은 총 28줄로 각 제출자(학생)의 출석번호 n(1 ≤ n ≤ 30)가 한 줄에 하나씩 주어진다. 출석번호에 중복은 없다. 출력 출력은 2줄이다. 1번째 줄엔 제출하지 않은 학생의 출석번호 중 가장 작은 것을 출력하고, 2번째 줄에선 그..

[백준 10813] 공 바꾸기

[Bronze II] 공 바꾸기 - 10813 문제 링크 성능 요약 메모리: 31120 KB, 시간: 44 ms 분류 구현, 시뮬레이션 제출 일자 2023년 11월 28일 06:33:33 문제 설명 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 바구니에는 공이 1개씩 들어있고, 처음에는 바구니에 적혀있는 번호와 같은 번호가 적힌 공이 들어있다. 도현이는 앞으로 M번 공을 바꾸려고 한다. 도현이는 공을 바꿀 바구니 2개를 선택하고, 두 바구니에 들어있는 공을 서로 교환한다. 공을 어떻게 바꿀지가 주어졌을 때, M번 공을 바꾼 이후에 각 바구니에 어떤 공이 들어있는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N (1 ≤ N ≤ 100)과 M (1 ≤ ..

[백준 10810] 공 넣기

[Bronze III] 공 넣기 - 10810 문제 링크 성능 요약 메모리: 31120 KB, 시간: 44 ms 분류 구현, 시뮬레이션 제출 일자 2023년 11월 28일 06:22:36 문제 설명 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 또, 1번부터 N번까지 번호가 적혀있는 공을 매우 많이 가지고 있다. 가장 처음 바구니에는 공이 들어있지 않으며, 바구니에는 공을 1개만 넣을 수 있다. 도현이는 앞으로 M번 공을 넣으려고 한다. 도현이는 한 번 공을 넣을 때, 공을 넣을 바구니 범위를 정하고, 정한 바구니에 모두 같은 번호가 적혀있는 공을 넣는다. 만약, 바구니에 공이 이미 있는 경우에는 들어있는 공을 빼고, 새로 공을 넣는다. 공을 넣을 바구..

[Java] Enum으로 상수 관리

우테코 프리코스 1주차로 숫자 야구 게임을 만들고 참가자 한 분이 static final로 상수를 관리했는데 Enum으로 관리해보라고 하셨다. Enum을 타입스크립트를 통해서 사용해 본 경험이 있어서 사용하는 방법만 익혔다. package baseball; public enum GameConstant { STARTING_STRING("숫자 야구 게임을 시작합니다."), RESTARING_STRING("게임을 새로 시작하려면 1, 종료하려면 2를 입력하세요."), ENDING_STRING("3개의 숫자를 모두 맞히셨습니다! 게임 종료"), INPUT_STRING("숫자를 입력해주세요 : "), STRIKE("스트라이크"), BALL("볼 "), NOTHING("낫싱"), RESTART("1"), END("..

Language/Java 2023.10.27

[프리코스 1주차] 숫자 야구 게임

프리코스 개발에 관심이 있는 사람들은 우아한테크코스에 대해서 대충 알고 있을 것이다. 우테코 5기부터 프리코스를 전원 참여할 수 있도록 변경되었다고 하여 이번 6기를 통해 프리코스를 참여하게 되었다. 프리코스는 우테코는 주입식 강의가 아니라 미션을 부여받고 스스로 미션을 구현하면서 피드백을 받는 형식이다. 기존의 교육방식과 다르기 때문에 본 과정을 들어가기 전에 프리코스로 미리 경험하는 단계이다. 숫자 야구 게임 백엔드에 관심이 있어 백엔드로 신청을 했고 자바를 통해 숫자 야구 게임을 구현하는 미션을 부여받았다. 게임에 대한 기능 요구사항은 이렇다. 기능 요구 사항 기본적으로 1부터 9까지 서로 다른 수로 이루어진 3자리의 수를 맞추는 게임이다. 같은 수가 같은 자리에 있으면 스트라이크, 다른 자리에 있..

[백준 11005] 진법 변환2

[Bronze I] 진법 변환 2 - 11005 문제 링크 성능 요약 메모리: 34760 KB, 시간: 124 ms 분류 구현, 수학 제출 일자 2023년 10월 16일 17:42:41 문제 설명 10진법 수 N이 주어진다. 이 수를 B진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 사용한다. A: 10, B: 11, ..., F: 15, ..., Y: 34, Z: 35 입력 첫째 줄에 N과 B가 주어진다. (2 ≤ B ≤ 36) N은 10억보다 작거나 같은 자연수이다. 출력 첫째 줄에 10진법 수 N을 B진법으로 출력한다. 코드 import string tmp = string.digits + str..

백준허브 - PS 자동 푸시 익스텐션

백준허브 백준허브는 Leetcode의 제출 코드를 자동 푸시해주는 LeetHub라는 프로젝트를 포크하여 만든 익스텐션이다. 백준뿐만이 아니라 프로그래머스, SWEA도 폴더명을 따로 규정하여 푸시해준다. 사용법 익스텐션을 설치하고 GitHub로 OAuth 로그인을 하면 레포를 새로 만들거나 기존에 있던 레포를 지정할 수 있다. 연동을 하고 그냥 문제를 풀면 된다. 적용 이제 백준허브를 사용하면서 이제는 블로그에 코딩테스트를 풀고 쉽다고 생각한 것은 따로 정리하지 않을려고 한다. 못 풀었던 문제나 특이하게 푼 문제들을 정리해서 올릴 계획이다.

코딩테스트 2023.10.15