[C++ | JAVA] 백준 2623번: 음악프로그램
·
problem solving/백준
🔗 문제2623번: 음악프로그램  ✏️ 풀이 문제에 알고리즘 힌트가 대놓고 있다.아래의 문장을 읽어보자.이제 여러분이 해야 할 일은 보조 PD들이 가져 온 순서들을 보고 남일이가 가수 출연 순서를 정할 수 있도록 도와 주는 일이다. 답이 여럿일 경우에는 아무거나 하나를 출력 한다. -> 여러 답이 나올 수 있는 위상정렬의 특징  위상 정렬이라는 문제 유형을 파악했기 때문에 문제를 바로 풀 수 있었다.위상 정렬이란 선후관계를 고려하여 여러 원소의 하나의 줄로 쭉 줄세울 수 있는 알고리즘이다.우선순위가 똑같은 원소가 있다면 순서가 상관 없으니 답도 여러개 일수도 있다.  구현 방법은 선후 관계를 고려하는 것 부터 시작된다.a → b 의 간선 관계라면 a는 선, b는 후며 b 입장에서는 a가 진입하므로 아래..
[C++] 백준 23031번: 으어어… 에이쁠 주세요..
·
problem solving/백준
🔗 문제https://www.acmicpc.net/problem/23031  밤이 되면 어두워지는 다솔관에는 좀비가 나온다는 괴담이 있다. 그 좀비들의 정체는 바로 시험 기간에 공부하느라 지친 학생들이었다. 지친 학생들은 멀리서 보면 흡사 좀비이므로 학생 좀비라고 부르자. 아리는 낮에 공부하다가 깜빡하고 책을 두고 와서 밤에 다시 다솔관 4층으로 가야 한다. 밤에 다솔관 4층에 도착한 아리는 겁이 많아서 학생 좀비들을 마주친다면 기절해버리고 말 것이다. 아리는 기절 하지 않고 무사히 책을 찾아 돌아가고 싶다. N × N으로 이루어진 다솔관 4층 곳곳에는 형광등 스위치와 학생 좀비들이 있다. 아리는 가장 왼쪽 위인 (1, 1)에서 출발하고 아리와 학생 좀비들은 모두 아래 방향을 보고 있다. 아리는 주어진..
[CI/CD | Docker] Docker 개념 및 기초
·
programming/CI CD
⛳️  도커의 개념과 장점 그리고  간단한 사용방법에 대해 알아보자.  Docker란?Docker는 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있도록 도와주는 오픈 소스 플랫폼입니다. Docker는 컨테이너라는 가벼운 가상화를 사용하여 애플리케이션과 그 종속성을 패키징하고 실행합니다.컨테이너는 애플리케이션을 실행하는 데 필요한 모든 것을 포함하는 독립적인 환경입니다. 이는 호스트 운영체제와 분리되어 있으며, 동일한 컨테이너가 어디서든 동일한 방식으로 실행될 수 있습니다.  Docker의 주요 구성 요소 🏷️ Docker 이미지: 코드, 런타임, 시스템 도구, 라이브러리 등을 포함한 패키지. 한 번 빌드된 이미지는 여러 컨테이너에서 재사용할 수 있습니다. 🏷️ Docker 컨테이너: 이미지를 ..
[C++] 백준 8913번 : 문자열 뽑기
·
problem solving/백준
🔗 문제https://www.acmicpc.net/problem/8913  ✏️ 풀이  [문제 분석] 주어지는 문자의 타입은 2개 밖에 없다.문자를 뽑을 수 있는 조건은 문자의 연속된 개수다.-> 문자가 얼마나 연속되었는지 이 숫자를 이용할 수 있는 방법을 강구하자!! [아이디어] 나의 아이디어가 아닌.. ys님에게 받은 아이디어같은 타입의 문자열을 그룹화하자! 그 그룹에 포함된 요소의 개수가 연속된 문자의 개수다. 이 값 활용해 우리에게 친숙한 숫자로 바꾸어 배열로 저장하자.  이건 어차피 문자의 타입이 2개기 때문에 할 수 있는 방법이다.aaabbaa == {3, 2, 2}abab == {1, 1, 1, 1}  [구현] 위 아이디어를 구현할 수 있는지 검토해보자.문자열을 문자의 연속된 수로 변환하자..
[C++] 백준 1938번 : 통나무 옮기기
·
problem solving/백준
🔗 문제https://www.acmicpc.net/problem/1938 ✏️ 풀이 문제에 나와 있는 배열을 보면 뭔가 막막한 감정이 들게 한다.. 하지만 쫄지 않으면 무조건 풀 수 있다!    문제를 읽으며 "가중치가 없는 최단 경로"구하기라는 것을 알았고 BFS로 알고리즘을 특정했다.BFS의 재방문 방지를 위한 유니크한 값이 필요하다. 그래서 통나무가 차지하는 3칸 중 하나의 위치를 기준으로 잡아주었다.나는 중간에 있는 위치를 기준으로 잡았다.회전을 할 때 중심을 기준으로 8방 탐색을 하면 쉽기 떄문이다!그리고 재방문체크는 3차원 배열을 이용해준다.bool visited[가로니?][x][y]같은 좌표라고 하더라도 통나무의 방향이 (가로)인지 (세로)인지에 따라서 갈 수 있는 방향이 달라지기 때문에 ..