[백준] 한조서열정리하고옴ㅋㅋ - 14659번
·
여러가지/알고리즘 & 자료구조
한조서열정리하고옴ㅋㅋ2 초256 MB115764740383740.638%문제“반갑다. 내 이름은 반고흐#31555! 조선 최고의 활잡이지. 오늘도 난 금강산 위에서 적들을 노리고 있지. 내 앞에 있는 적들이라면 누구도 놓치지 않아! 좋아, 이제 곧 월식이 시작되는군. 월식이 시작되면 용이 적들을 집어삼킬 것이다. 잘 봐두어라! 마장동 활잡이 반고흐#31555님의 실력을-!”반고흐#31555는 자기 뒤쪽 봉우리에 덩기#3958이 있음을 전혀 모르고 있었다. 덩기#3958도 반고흐#31555와 마찬가지로 월식이 시작되면 용을 불러내어 눈앞에 있는 다른 활잡이들을 모두 처치할 생각이다. 사실, 반고흐#31555와 덩기#3958 뿐만 아니라 금강 산맥의 N개 봉우리에 있는 모든 활잡이들이 같은 생각을 가지고 있..
[백준] 거스름돈 - 5585번
·
여러가지/알고리즘 & 자료구조
거스름돈1 초128 MB45753299952555965.531%문제타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사고 카운터에서 1000엔 지폐를 한장 냈을 때, 받을 잔돈에 포함된 잔돈의 개수를 구하는 프로그램을 작성하시오.입력입력은 한줄로 이루어져있고, 타로가 지불할 돈(1 이상 1000미만의 정수) 1개가 쓰여져있다.출력제출할 출력 파일은 1행으로만 되어 있다. 잔돈에 포함된 매수를 출력하시오.예제 입력 1 복사380예제 출력 1 복사4예제 입력 2 복사1예제 출력 2 복사15코드package 거스름돈;import java.io.Bu..
[백준] A->B - 16953번
·
여러가지/알고리즘 & 자료구조
A → B2 초512 MB55712229191817439.686%문제정수 A를 B로 바꾸려고 한다. 가능한 연산은 다음과 같은 두 가지이다.2를 곱한다.1을 수의 가장 오른쪽에 추가한다. A를 B로 바꾸는데 필요한 연산의 최솟값을 구해보자.입력첫째 줄에 A, B (1 ≤ A 출력A를 B로 바꾸는데 필요한 연산의 최솟값에 1을 더한 값을 출력한다. 만들 수 없는 경우에는 -1을 출력한다.예제 입력 1 복사2 162예제 출력 1 복사52 → 4 → 8 → 81 → 162예제 입력 2 복사4 42예제 출력 2 복사-1예제 입력 3 복사100 40021예제 출력 3 복사5100 → 200 → 2001 → 4002 → 40021접근법이 문제는 정수 A를 B로 바꾸기 위해 가능한 두 가지 연산을 이용하여 최단 경로..
[백준] 동전 0 - 11047번
·
여러가지/알고리즘 & 자료구조
동전 01 초256 MB149950803616135552.637%문제준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다.동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오.입력첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000)둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수)출력첫째 줄에 K원을 만드는데 필요한 동전 개수의 최솟값을 출력한다.예제 입력 1 복사10 4200151050100500100050001000050000예제 출력 1 복사6예제 입력 ..
Greedy 알고리즘
·
여러가지/알고리즘 & 자료구조
1. 그리디 알고리즘(탐욕법, Greedy Algorithm) 이란?그리디 알고리즘은 최적의 값을 구해야 하는 상황에서 사용되는 근시안적인 방법론으로, 각 단계에서 최적이라고 생각되는 것을 선택해 나가는 방식으로 진행하여 최종적인 해답에 도달하는 알고리즘입니다. 이때 항상 최적의 값을 보장하는 것이 아니라 최적의 값의 근사한 값을 목표로 합니다. 주로 문제를 분할 가능한 문제들로 분할한 뒤, 각 문제들에 대한 최적해를 구한 뒤 이를 결합하여 전체 문제의 최적해를 구하는 경우에 사용됩니다.예시 문제노드에서 가장 합이 높은 방법을 선택하는 방법을 생각해봅니다. 이 경우, 그리디 알고리즘은 기준 없이 선택하는 대신, 상황에서 가장 높은 수를 선택하는 방식으로 노드를 선택합니다.2. 그리디 알고리즘 주요 속성그..
[백준] 별자리가될수있다면 - 30821번
·
여러가지/알고리즘 & 자료구조
별자리가 될 수 있다면1 초1024 MB65950546078.098%문제곧 시계는 6시, 벌써 첫 번째 별이 보인다. 정N각형 모양의 하늘에는 몇 개의 별이 뜰 수 있을까? 정N각형의 꼭짓점의 개수 N이 주어졌을 때, 정N각형의 꼭짓점을 이어 만들 수 있는 서로 다른 별의 개수를 출력하여라. 별은 정N각형의 다섯 꼭짓점에 시계 방향으로 번호를 붙였을 때, 그 꼭짓점들을 1-3-5-2-4-1 순으로 연결한 것을 의미한다. 뒤집거나 돌려서 같은 모양이 나오는 별도 정N각형의 다른 꼭짓점을 이어 만든 별이라면 서로 다른 별이다.입력정수 N이 주어지며, 이는 정 N각형의 꼭짓점의 개수를 나타냅니다. N의 범위는 5 이상 100 이하입니다.출력정𝑁각형의 꼭짓점을 이어 만들 수 있는 별의 개수를 출력한다.예제..
[백준] 청정순열 - 25176
·
여러가지/알고리즘 & 자료구조
청정수열 (Easy)1 초1024 MB98981376085.586%문제청정수열은 길이가 2𝑁이고 1부터 𝑁까지의 정수들이 정확히 두 번씩 등장하는 수열이다.청정수열의 점수는 1이상 𝑁이하인 모든 정수 𝑖에 대해 다음 값의 합이다.(두 개의 𝑖 사이에 있는 수의 합) × 𝑖이때, "사이"는 양 끝의 𝑖를 포함한다.길이가 2𝑁이면서 점수가 최소인 청정수열의 개수를 구해보자.입력첫째 줄에 정수 𝑁이 주어진다. (1≤𝑁≤10)출력첫째 줄에 길이가 2𝑁이면서 점수가 최소인 청정수열의 개수를 출력하라.예제 입력 1 복사4예제 출력 1 복사24힌트 예시로 [3, 1, 2, 1, 3, 2]는 N이 3인 청정수열이고 이 청정수열의 점수는 다음과 같이 계산되어 50점이 된다. 1과 1의 사이의 수들은 ..
[백준] 슈퍼마리오 - 2851번
·
여러가지/알고리즘 & 자료구조
슈퍼 마리오1 초128 MB2432310049871141.650%문제슈퍼 마리오 앞에 10개의 버섯이 일렬로 놓여져 있다. 이 버섯을 먹으면 점수를 받는다.슈퍼 마리오는 버섯을 처음부터 나온 순서대로 집으려고 한다. 하지만, 모든 버섯을 집을 필요는 없고 중간에 중단할 수 있다. 중간에 버섯을 먹는 것을 중단했다면, 그 이후에 나온 버섯은 모두 먹을 수 없다. 따라서 첫 버섯을 먹지 않았다면, 그 이후 버섯도 모두 먹을 수 없다.마리오는 받은 점수의 합을 최대한 100에 가깝게 만들려고 한다.버섯의 점수가 주어졌을 때, 마리오가 받는 점수를 출력하는 프로그램을 작성하시오.입력총 10개의 줄에 각각의 버섯의 점수가 주어진다. 이 값은 100보다 작거나 같은 양의 정수이다. 버섯이 나온 순서대로 점수가 주어..
[백준] 암호 만들기 - 1759번
·
여러가지/알고리즘 & 자료구조
암호 만들기2 초128 MB77884372332551644.782%문제바로 어제 최백준 조교가 방 열쇠를 주머니에 넣은 채 깜빡하고 서울로 가 버리는 황당한 상황에 직면한 조교들은, 702호에 새로운 보안 시스템을 설치하기로 하였다. 이 보안 시스템은 열쇠가 아닌 암호로 동작하게 되어 있는 시스템이다.암호는 서로 다른 L개의 알파벳 소문자들로 구성되며 최소 한 개의 모음(a, e, i, o, u)과 최소 두 개의 자음으로 구성되어 있다고 알려져 있다. 또한 정렬된 문자열을 선호하는 조교들의 성향으로 미루어 보아 암호를 이루는 알파벳이 암호에서 증가하는 순서로 배열되었을 것이라고 추측된다. 즉, abc는 가능성이 있는 암호이지만 bac는 그렇지 않다.새 보안 시스템에서 조교들이 암호로 사용했을 법한 문자의..
[항해99 취업리부트 TIL] 4주차 2일
·
스케쥴/스터디
오늘 진행된 강의에서 학습한 내용은 무엇인가요?블랙잭 - 2798번설명이 문제에서는 주어진 카드 중에서 3장의 합이 목표 숫자 M을 넘지 않으면서 최대한 M에 가까운 값을 찾는 것입니다. 이를 위해 모든 가능한 3장의 카드 조합을 확인하는 브루트 포스 접근법을 사용합니다.해결 방법입력 처리: 카드의 개수 N, 목표 숫자 M, 카드 목록을 입력받습니다.3중 루프 탐색: 세 개의 중첩된 for 루프를 사용하여 모든 3장의 카드 조합을 탐색합니다.최대값 갱신: 각 조합의 합이 M을 넘지 않으면서 지금까지 최대값보다 크면 이 값을 업데이트합니다.출력: 모든 조합을 탐색한 후, 최대값을 출력합니다.코드public class Main { static BufferedWriter bw = new BufferedW..
[백준] 단어나누기 - 1251번
·
여러가지/알고리즘 & 자료구조
단어 나누기2 초128 MB134835760496646.590%문제알파벳 소문자로 이루어진 단어를 가지고 아래와 같은 과정을 해 보려고 한다.먼저 단어에서 임의의 두 부분을 골라서 단어를 쪼갠다. 즉, 주어진 단어를 세 개의 더 작은 단어로 나누는 것이다. 각각은 적어도 길이가 1 이상인 단어여야 한다. 이제 이렇게 나눈 세 개의 작은 단어들을 앞뒤를 뒤집고, 이를 다시 원래의 순서대로 합친다.예를 들어,단어 : arrested세 단어로 나누기 : ar / rest / ed각각 뒤집기 : ra / tser / de합치기 : ratserde단어가 주어지면, 이렇게 만들 수 있는 단어 중에서 사전순으로 가장 앞서는 단어를 출력하는 프로그램을 작성하시오.입력첫째 줄에 영어 소문자로 된 단어가 주어진다. 길이는..
[백준] 지각 - 10419번
·
여러가지/알고리즘 & 자료구조
지각1 초256 MB34882541231974.831%문제창영이는 이번학기에 어떤 교양수업을 듣고 있다. 그런데, 그 교수님은 매우 지각을 자주 하시고 게다가 수업에 지각을 하였을 경우 수업을 일찍 마쳐 주기까지 하는 것을 발견하였다.창영이는 교수님의 지각시간 0이상의 정수 t와 수업을 일찍 마쳐주는 시간 s 사이에 다음과 같은 관계가 있음을 알았다.s = t2문득 창영이는 수업시간 d가 주어졌을 때, 교수님이 얼마나 지각을 할 수 있는지 궁금해졌고, 여러분은 창영이를 도와서 교수님이 지각할 수 있는 최대의 시간을 알아보자. 물론, 교수님이 도착하자마자 수업을 일찍 마쳐서 수업이 끝나는 것도 가능하다. 예를 들어, 수업시간이 6분인 경우, 교수님이 2분 지각을 하면, 4분간 수업을 일찍 마치게 되고, 2..
[백준] 좋은 암호 - 2061번
·
여러가지/알고리즘 & 자료구조
좋은 암호2 초128 MB44991828158245.604%문제암호화 방식 중에는 소수를 이용하는 것들이 많다. 보통은 매우 큰 두 개의 소수를 선택하고, 두 소수를 곱한 값을 암호화에서의 키로 사용하고는 한다. 이러한 방법이 좋은 이유는 일반적으로 매우 큰 수를 소인수분해 하는 것이 어렵기 때문이다.소수를 택할 때 큰 수를 택하면, 이 둘을 곱해서 얻어지는 키 값도 커지게 된다. 하지만 그 반대는 성립하지 않을 수도 있다. 즉, 키 값이 매우 큰 경우에도 이를 소인수분해 하는 것은 쉬울 수도 있다.따라서 암호문이 크랙되지 않도록 하기 위해서는, 키 값이 적절히 큰 수들의 곱으로 이루어져 있는지를 확인해야 할 필요가 있다. 키 값 K와 정수 L이 주어졌을 때, K를 인수분해 했을 때, 항상 L 이상의 값..
[백준] 타임머신 - 1440번
·
여러가지/알고리즘 & 자료구조
타임머신2 초128 MB193286174246.814%문제다솜이는 타임머신을 타고 8364년으로 갔다. 다행히 지구는 평화롭다.다솜이는 2008년으로 돌아가기 전에 시계를 샀다. 다솜이는 시계를 볼 줄 모르기 때문에, 디지털 시계를 샀다. 디지털 시계는 HH:MM:SS와 같은 모양으로 시간을 나타내 준다. 그리고 앞에서부터 차례대로 HH는 시, MM은 분, SS는 초를 나타낸다.다솜이는 8364년에는 2008년과 같은 방법으로 시간을 나타내는지 모른다. 2008년엔 시:분:초를 나타내는지만, 8364년엔 분:시:초로 나타낼지도 모른다.다행히 시는 01부터 12, 분은 00부터 59, 초는 00부터 59를 나타낸다.다솜이의 시계에 쓰여 있는 숫자가 주어졌을 때, 이 시간을 읽을 수 있는 가능한 방법의 수를..
[백준] 블랙잭 - 2798번
·
여러가지/알고리즘 & 자료구조
블랙잭시간제한메모리제한제출정답맞힌 사람정답률1 초128 MB182380913326994248.785%문제카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다.한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들어 상근, 창영이와 게임하려고 한다.김정인 버전의 블랙잭에서 각 카드에는 양의 정수가 쓰여 있다. 그 다음, 딜러는 N장의 카드를 모두 숫자가 보이도록 바닥에 놓는다. 그런 후에 딜러는 숫자 M을 크게 외친다.이제 플레이어는 제한된 시간 안에 N장의 카드 중에서 3장의 카드를 골라야 한다. 블랙잭 변형 게임이기 때문에, 플레이어가 고른 카드의 합은 M을 넘지..
완전탐색 & 시뮬레이션 - 1
·
여러가지/알고리즘 & 자료구조
시뮬레이션 문제란 무엇일까요?시뮬레이션 문제는 실제 상황이나 시스템을 모델링하고 코드를 통해 재현하는 문제 유형입니다. 즉, 문제에서 제시된 조건과 규칙에 따라 코드를 작성하여 컴퓨터上で 상황을 모방하는 것이 목표입니다.핵심 특징:알고리즘보다는 구현력: 특정 알고리즘보다는 문제 상황을 정확하게 이해하고 코드로 구현하는 능력이 중요합니다.논리적 사고력: 문제 상황을 분석하고, 논리적으로 코드를 구성하는 능력이 필요합니다.꼼꼼함: 디테일한 부분까지 꼼꼼하게 코드를 작성해야 정확한 결과를 도출할 수 있습니다.예시:주식 시장 시뮬레이션: 주식 가격 변동, 매매 전략 등을 고려하여 수익률을 계산하는 프로그램 작성자동 계산기: 사칙연산, 삼각함수 계산 등 다양한 계산 기능을 가진 계산기 프로그램 작성교통 신호등 시..
[백준] 신기한 소수 찾기 - 2023번
·
여러가지/알고리즘 & 자료구조
신기한 소수시간제한메모리 제한제출정답맞힌사람정답률2 초4 MB2426511757831945.921%문제수빈이가 세상에서 가장 좋아하는 것은 소수이고, 취미는 소수를 가지고 노는 것이다. 요즘 수빈이가 가장 관심있어 하는 소수는 7331이다.7331은 소수인데, 신기하게도 733도 소수이고, 73도 소수이고, 7도 소수이다. 즉, 왼쪽부터 1자리, 2자리, 3자리, 4자리 수 모두 소수이다! 수빈이는 이런 숫자를 신기한 소수라고 이름 붙였다.수빈이는 N자리의 숫자 중에서 어떤 수들이 신기한 소수인지 궁금해졌다. N이 주어졌을 때, 수빈이를 위해 N자리 신기한 소수를 모두 찾아보자.입력첫째 줄에 N(1 ≤ N ≤ 8)이 주어진다.출력N자리 수 중에서 신기한 소수를 오름차순으로 정렬해서 한 줄에 하나씩 출력한..
[백준] 나이트의 이동 - 7562번
·
여러가지/알고리즘 & 자료구조
[문제 링크](https://www.acmicpc.net/problem/7562)성능 요약메모리: 114744 KB, 시간: 380 ms분류너비 우선 탐색, 그래프 이론, 그래프 탐색제출 일자2024년 6월 10일 16:22:02문제 설명체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 있을까?입력입력의 첫째 줄에는 테스트 케이스의 개수가 주어진다.각 테스트 케이스는 세 줄로 이루어져 있다. 첫째 줄에는 체스판의 한 변의 길이 l(4 ≤ l ≤ 300)이 주어진다. 체스판의 크기는 l × l이다. 체스판의 각 칸은 두 수의 쌍 {0, ..., l-1} × {0, ....
[항해99 취업리부트 TIL] 3주차 5일
·
스케쥴/스터디
오늘 진행된 강의에서 학습한 내용은 무엇인가요?백준: 알고리즘 수업 - 깊이우선탐색1https://www.acmicpc.net/problem/24479깊이 우선 탐색(DFS)을 사용하여 그래프의 각 정점을 방문하는 순서를 계산하는 프로그램입니다. 그래프는 인접 리스트를 사용하여 구현되었고, 시작 정점에서부터 DFS를 수행하여 각 정점의 방문 순서를 기록합니다. 프로그램의 주요 구성 요소와 동작 방식은 다음과 같습니다:주요 구성 요소입력 처리 및 초기화정점의 수 N, 간선의 수 M, 시작 정점 R을 입력 받습니다.인접 리스트 graph, 방문 여부를 저장할 배열 visited, 방문 순서를 저장할 배열 order를 초기화합니다.그래프 구성간선 정보를 입력 받아 무방향 그래프로 만듭니다.각 정점의 인접 리스..
[항해99 취업리부트 TIL] 3주차 4일
·
스케쥴/스터디
오늘의 다짐오늘 진행된 강의에서 학습한 내용은 무엇인가요?그래프: 개요, 특징, 표현 방법, 예시 코드, 실제 사용 예시개요그래프는 정점(Node)과 간선(Edge)으로 구성된 자료구조입니다.정점: 객체나 개체를 나타냅니다. (예: 도시, 사람, 웹 페이지)간선: 정점 간의 연결을 나타내며, 정점들 간의 관계를 정의합니다. (예: 도로, 친구 관계, 링크)특징데이터 구조: 그래프는 객체 간의 관계를 표현하는데 유용합니다.다양한 유형: 방향 그래프(간선에 방향이 있는 경우)와 무방향 그래프(간선에 방향이 없는 경우)가 있습니다.가중치: 간선에 가중치를 부여하여 거리, 비용 등을 표현할 수 있습니다.표현 방법인접 행렬: 2차원 배열을 사용하여 정점 간의 연결 여부를 나타냅니다.장점: 간선 존재 여부를 빠르게..
[항해99 취업리부트 TIL] 3주차 3일
·
스케쥴/스터디
오늘 진행된 강의에서 학습한 내용은 무엇인가요?1. 서론정렬 알고리즘과 이분 탐색 알고리즘에 대한 개념, 구현, 응용 등을 다룹니다. 정렬 알고리즘은 데이터를 순서대로 재배열하는 데 사용되며, 이분 탐색 알고리즘은 정렬된 데이터에서 특정 값을 빠르게 찾는 데 사용됩니다. 2. 정렬2.1 정렬의 개념 및 중요성정렬은 데이터를 크기 순서대로 재배열하는 알고리즘입니다. 데이터가 정렬되어 있으면 검색, 비교, 분석 등 다양한 작업을 보다 효율적으로 수행할 수 있습니다. 정렬은 컴퓨터 과학에서 매우 중요한 개념이며, 다양한 분야에서 활용됩니다. 예를 들어, 운영체제, 데이터베이스, 웹 검색 엔진, 머신 러닝 등에서 정렬 알고리즘이 사용됩니다.2.2 Collection 정렬 방법Java에서는 다양한 방식으로 Col..
자바의 자원 관리 방법 비교: try-with-resources와 try-finally
·
프로그래밍 언어/자바
목차개요try-with-resources장점단점예제try-finally장점단점예제비교자원 관리코드 가독성예외 처리자원 누수 방지결론개요자바 프로그램에서 자원을 효율적으로 관리하는 것은 중요한 과제입니다. 자원 관리를 잘못하면 메모리 누수, 파일 잠금 등의 문제가 발생할 수 있습니다. 자바에서는 주로 두 가지 방법으로 자원을 관리합니다: try-with-resources와 try-finally. 여기서는 이 두 방법의 차이점, 장단점 및 사용 예제를 비교하여 설명합니다.try-with-resourcestry-with-resources는 자원을 자동으로 닫아주는 구문입니다. AutoCloseable 인터페이스를 구현한 자원에 대해 사용되며, 자원을 명시적으로 닫을 필요 없이 try 블록이 끝나면 자동으로 닫..
[항해99 취업리부트 TIL] 3주차 2일
·
스케쥴/스터디
오늘 진행된 강의에서 학습한 내용은 무엇인가요?힙, 해시 테이블, 자료구조 활용 알고리즘 문제 정리 및 심층 분석1. 힙 (Heap)개념:힙은 완전 이진 트리 구조의 일종으로, 각 노드가 자식 노드보다 크거나 작은 우선순위를 가지는 자료구조입니다. 우선순위 큐(Priority Queue)를 구현하기 위해 사용됩니다.특징:최대 힙 (Max Heap): 부모 노드가 자식 노드보다 항상 크거나 같습니다.최소 힙 (Min Heap): 부모 노드가 자식 노드보다 항상 작거나 같습니다.삽입 및 추출: O(log N) 시간 복잡도탐색: O(N) 시간 복잡도장점:빠른 삽입 및 추출우선순위 기반 데이터 처리에 효율적단점:순서 기반 데이터 처리에는 적합하지 않음삽입 및 추출 시 트리 구조 재구성 필요시간 복잡도:삽입 및 ..
[항해99 취업리부트 TIL] 3주차 1일
·
스케쥴/스터디
오늘 진행된 강의에서 학습한 내용은 무엇인가요?보고서: 스택, 큐, 덱 비교 분석1. 서론본 보고서는 컴퓨터 과학에서 중요한 자료구조인 스택, 큐, 덱의 특징, 작동 방식, 활용 사례, 그리고 각 자료구조 간의 비교 분석을 제공합니다. 2. 스택2.1. 개요스택은 Last In, First Out (LIFO) 또는 First In, Last Out (FILO) 방식을 따르는 자료구조입니다. 즉, 가장 마지막에 삽입된 요소가 가장 먼저 제거되는 방식으로 작동합니다. 2.2. 특징LIFO/FILO 방식: 마지막에 들어간 데이터가 가장 먼저 나옵니다.push, pop, peek 연산:push: 스택의 맨 위에 요소를 추가합니다.pop: 스택의 맨 위 요소를 제거하고 그 값을 반환합니다.peek: 스택의 맨 위..
[항해99 취업리부트 TIL] 2주차 6일
·
스케쥴/스터디
항해99 리부트 알고리즘 1주차의 첫 알고리즘 코테를 진행하였다. 4개중 2개를 풀고 이를 복기해본다. 오늘 진행된 강의에서 학습한 내용은 무엇인가요?[백준] 스위치켜고끄기 - 1244https://www.acmicpc.net/problem/1244 스위치 배열 상태 변경 프로그램의 핵심 로직을 분석합니다. 이 로직은 학생들의 명령에 따라 스위치의 상태를 변경하는 기능을 수행합니다.1. 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.StringReader;import java.util.StringTokenizer;public class Main { stat..
[항해99 취업리부트 TIL] 2주차 5일
·
카테고리 없음
오늘 진행된 강의에서 학습한 내용은 무엇인가요?자바의 이차원 배열1. 개요이차원 배열은 행과 열로 구성된 데이터 구조입니다. 각 행은 여러 개의 열로 구성되며, 각 열은 하나의 값을 가지고 있습니다. 이는 격자 형태로 데이터를 표현하는 데 유용하며, 표, 행렬, 게임 보드 등 다양한 상황에서 활용됩니다.2. 이차원 배열 선언 및 초기화이차원 배열은 다음과 같은 방식으로 선언 및 초기화할 수 있습니다.// 선언int[][] array = new int[행의 수][열의 수];// 초기화array[0][0] = 10; // 첫 번째 행 첫 번째 열에 10 저장array[1][2] = 20; // 두 번째 행 세 번째 열에 20 저장위 코드는 array라는 이름으로 5행 3열의 이차원 배열을 선언합니다. new..
[백준] 끝말잇기 - 28432번
·
카테고리 없음
성능 요약메모리: 14212 KB, 시간: 112 ms 분류구현, 문자열 제출 일자2024년 6월 1일 10:58:35 문제 설명 끝말잇기는 단어를 중복하지 않고 단어의 맨 끝 글자에 이어서 말하는 놀이입니다. 끝말잇기 기록은 단어들의 나열로 이루어집니다. 올바른 끝말잇기 기록은 각 단어의 마지막 글자가 다음 단어의 첫 글자이며, 단어가 중복되어서 나타나면 안 됩니다.끝말잇기 기록이 주어지는데, 하나의 기록은 “?”로 가려진 채로 들어옵니다. “?”에 들어갈 수 있는 문자열들의 후보가 주어질 때, 올바른 끝말잇기 기록을 만드는 “?”에 들어갈 문자열을 출력하세요. 입력첫 줄에 끝말잇기 기록의 길이 N𝑁 이 주어집니다. (1≤N≤100)(1≤𝑁≤100) 둘째 줄부터 다음 N𝑁개의 줄에는 끝말잇기의 기..
[백준] 열 개씩 끊어 출력하기 - 11721번
·
여러가지/알고리즘 & 자료구조
[Bronze III] 열 개씩 끊어 출력하기 - 11721문제 링크 성능 요약메모리: 14280 KB, 시간: 124 ms분류문자열, 구현제출 일자2024년 6월 1일 00:14:29문제 설명알파벳 소문자와 대문자로만 이루어진 길이가 N인 단어가 주어진다.한 줄에 10글자씩 끊어서 출력하는 프로그램을 작성하시오.입력 첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다.출력 입력으로 주어진 단어를 열 개씩 끊어서 한 줄에 하나씩 출력한다. 단어의 길이가 10의 배수가 아닌 경우에는 마지막 줄에는 10개 미만의 글자만 출력할 수도 있다.코드import java.io.*;public class Main { p..
[백준] KMP는 왜 KMP일까? - 2902번
·
여러가지/알고리즘 & 자료구조
[Bronze II] KMP는 왜 KMP일까? - 2902문제 링크느낀점다른 풀이 중 StringTokenizer를 보았으며 아주 유용하다는 사실을 알게 되었다.StringTokenizer st = new StringTokenizer(br.readLine(), "-")int tokenSize = st.countTokens();while(st.has성능 요약메모리: 14188 KB, 시간: 104 ms분류구현, 문자열제출 일자2024년 5월 31일 23:38:37문제 설명KMP 알고리즘이 KMP인 이유는 이를 만든 사람의 성이 Knuth, Morris, Prett이기 때문이다. 이렇게 알고리즘에는 발견한 사람의 성을 따서 이름을 붙이는 경우가 많다.또 다른 예로, 유명한 비대칭 암호화 알고리즘 RSA는 이..
[항해99 취업리부트 TIL] 2주차 4일
·
스케쥴/스터디
오늘 진행된 강의에서 학습한 내용은 무엇인가요? 1. 문자열 뒤집기 (Reverse String): - 주어진 문자열의 문자 순서를 반대로 만드는 작업입니다. - StringBuilder를 사용한 방법, 반복문을 사용한 방법, 비효율적인 방법을 각각 설명하였습니다. 2. 문자열 압축 (String Compression): - 주어진 문자열에서 반복되는 문자를 숫자로 표현하여 압축하는 작업입니다. - StringBuilder와 반복문을 사용하여 문자열을 압축하는 방법을 설명하였습니다. 3. 문자열의 모든 순열 찾기 (Find All Permutations of a String): - 주어진 문자열의 모든 가능한 순열을 생성하는 작업입니다. - ..