문제 링크 - https://www.acmicpc.net/problem/24511자료구조가 stack인경우 : LIFO이므로, 뒤에 push되고 뒤에서 pop되므로 삽입된 원소가 그대로 나간다.자료구조가 queue인경우 : FIFO 이므로 뒤에 push되고,
문제 링크 - https://www.acmicpc.net/problem/24228먼저 입력 조건에 1<=N,R<=10^18 이므로 범위를 주의해야 한다.N: 젓가락 종류, R: 맞춰야 하는 짝의 갯수최악의 경우는 종류별로 1개씩은 뽑은 다음에 그중
문제 링크 - https://www.acmicpc.net/problem/1991트리의 노드들을 입력받아서 전위 순회, 중위 순회, 후위 순회 했을 때의 결과를 출력하는 문제이다.pair<char,char> node26 라는 pair형 배열을 선언해서 f
문제 링크 - https://www.acmicpc.net/problem/16931그림을 보면 총 6면으로 나눌 수 있는데 그중에 위아래면과 옆면(4개)를 따로 구해서 합을 구했다.위 아랫면 구하기 : 문제에서 1<=종이 한칸에 놓인 정육면체 수<=1
문제 링크 - https://www.acmicpc.net/problem/10751누적합을 세는 변수는 c, co, cow이다.for문을 통해 string을 탐색한다.'C'가 나오면 c를 1증가시킨다.'O'가 나오면 co를 c만큼 증가시킨다. O가 나올때마다 C
문제 링크 - https://www.acmicpc.net/problem/15736처음엔 딱히 생각이 안나서 ,문제에서 말하는 그대로 for문을 돌려보았다.처음에 청색이니까 백색이 되는 것들은 홀수번 뒤집힌 것이므로, 1부터 N까지 수 중에 약수가 홀수개인 것들
문제 링크 - https://www.acmicpc.net/problem/1654이 문제를 처음 읽고 이분 탐색 문제구나! 라는 생각이 바로 들지 않았다... (힌트를 읽고 알았다.ㅠㅠ)랜선의 길이가 될 수 있는것은 1부터 ~ 입력받은 랜선 길이의 최댓값이므로,
문제 링크 - https://www.acmicpc.net/problem/1303풀이는 주석 참고
문제 링크 - https://www.acmicpc.net/problem/1904
문제 링크 - https://www.acmicpc.net/problem/14490
문제 링크 - https://www.acmicpc.net/problem/16918(길어서 나머지는 링크에서 보기)문제를 봤을 때, 구현과 그래프(약간)가 합쳐진 문제라고 생각이 들었다.문제에 써있는 과정을 그대로 각각의 함수를 나누어서, 어떤 시간(초)에 어떤
문제 링크 - https://www.acmicpc.net/problem/12000각 방에 있는 소의 마리 수를 cow배열에 입력받는다.1번방부터~n번방까지 각 방의 문이 잠금해제 되었을때, 소들이 움직이는 총 거리를 구한다.예를들어, 2번방의 외부문을 열었을때
문제 링크 - https://www.acmicpc.net/problem/170861단계 상어 배열일 입력받는다.2단계 입력받은 배열을 돌면서 상어가 있는지점에서 bfs를 시작한다.상어가 있는 지점마다 bfs를 돌면서 이전 dist값보다 더 작으면 더 작은값으로
문제 링크 - https://www.acmicpc.net/problem/2470🌱 코드
문제 링크 - https://www.acmicpc.net/problem/16235부동산 투자로 억대의 돈을 번 상도는 최근 N×N 크기의 땅을 구매했다. 상도는 손쉬운 땅 관리를 위해 땅을 1×1 크기의 칸으로 나누어 놓았다. 각각의 칸은 (r, c)로 나타내
문제 링크 - https://www.acmicpc.net/problem/19238(자세한건 링크 보기)먼저 손님의 정보 (손님의 위치, 손님이 도착하려는곳이 위치, 택시로부터 손님까지의 거리)를 담을수 있는 Info 객체를 하나 생성하였다.그리고 ArrayLi
문제 링크 - https://www.acmicpc.net/problem/10971생각한 풀이 방식은 2차원 배열 혹은 2차원리스트에 간선정보(비용 정보)를 저장한다음, 모든 정점을 시작정점으로 해서 DFS를 돈 후 전체 정점갯수만큼 돌았을때의 최솟값을 구하는
문제 링크 - https://www.acmicpc.net/problem/14888N개의 숫자와 N-1개의 연산자가 주어지고, 숫자의 순서는 유지한 채로 연산자의 순서만 조절하여서 나올 수 있는 계산 값 중 최댓값과 최솟값을 구하는 문제이다.이때 연산자에 대한
문제 링크 - https://www.acmicpc.net/problem/16234먼저 while(true)로 시뮬레이션을 계속 반복하고 인구이동이 일어날 수 없을 때 break로 끝내도록 했다.BFS로 각 나라를 탐색하면서 인구 이동이 일어날 수 있는 연합들을
문제 링크 -https://www.acmicpc.net/problem/1405단순하지 않을 확률을 구한 후 (이동경로가 단순할 확률) = 1 - (이동경로가 단순하지 않을 확률)로 정답을 구했다. 이때, 단순하지 않는 경우는 이미 방문한 곳을 또 방문하는 경우
문제 링크 - https://www.acmicpc.net/problem/17135
문제 링크 - https://www.acmicpc.net/problem/14712
문제 링크 - https://www.acmicpc.net/problem/1074분할정복을 이용하여 풀었다.처음에 풀이한 코드인데 계속 메모리 초과가 났다. (r,c)에 도달했을 때 종료조건을 안걸어줘서 메모리 초과가 난것같아서 해당 부분을 추가해주었다.그럼에도
문제 링크 - https://www.acmicpc.net/problem/4779🌱 코드
문제 링크 - https://www.acmicpc.net/problem/1780문제에서 제시한 그대로 과정을 코드로 나타내어서 풀었다.한변의 길이가 size인 행렬에서 -1, 0, 1 의 수가 몇개인지 세어서 모두 같은수로 되어 있는지 아닌지 확인했다.같은 수
문제 링크 - https://www.acmicpc.net/problem/15685🌱 코드
문제 링크 - https://www.acmicpc.net/problem/2636
문제 링크 - https://school.programmers.co.kr/learn/courses/30/lessons/1845업로드중..\--🌱 코드
문제 링크 - https://www.acmicpc.net/problem/1309
문제 링크 - https://www.acmicpc.net/problem/1261업로드중..일반적인 bfs방식으로 풀고, 대신 queue에 넣을 때의 조건을 설정해 주었다.일반적인 bfs 방식은 방문체크를 하는데, 이번 문제에서는 경로에 따라서 더 나중에 방문한
문제 링크 - https://www.acmicpc.net/problem/109862차원 배열에 누적합을 전부 기록하였다. 즉 sumi : i번부터 j번까지의 누적합.그리고 기록과 동시에 그 값이 M으로 나누어떨어지는지를 검사하여 정답 갯수에 추가하였다.하지만
문제 링크 - https://school.programmers.co.kr/learn/courses/30/lessons/42627풀이는 주석에 자세히 작성했다.
문제 링크 - https://school.programmers.co.kr/learn/courses/30/lessons/12971?language=java어떻게 풀어야 할지 고민하다가 dp로 푸는 방식이 생각 났다.우선 원형 스티커를 일차원 배열이라고 가정하고
문제 링크 - https://www.acmicpc.net/problem/12904가능한 두가지 연산은 다음과 같다. 1\. 문자열의 뒤에 A를 추가한다.문자열을 뒤집고 뒤에 B를 추가한다.처음에 시도한 방법은 문자열 S에서 두가지 연산을 해보면서 문자열의 길
문제 링크 - https://school.programmers.co.kr/learn/courses/30/lessons/92342
문제 링크 - https://school.programmers.co.kr/learn/courses/30/lessons/67258백준의 '회전 초밥' 문제와 비슷하게 푸는 투포인터 문제였다.1) Set에 gems 보석들을 넣고 set.size()를 통해 종류의
문제 링크 - https://www.acmicpc.net/problem/1062업로드중..조금 신박한 문제여서 문제를 이해하기가 조금 어려웠다. 26개의 알파벳 중 K개만 읽을 수 있고, 주어진 N개의 단어중 단어 각각이 앞에서 선택된 K개의 알파벳으로 이루어
문제 링크 - https://school.programmers.co.kr/learn/courses/30/lessons/77486 당사자가 벌어들인 이익의 90%은 당사자가 갖고, 10%는 추천자로 넘어감이 때, 추천자가 10%의 해당하는 금액을 다 가지는것
문제 링크 - https://www.acmicpc.net/problem/1992 🌱 문제 🌱 풀이 🌱 코드
문제 링크 - https://www.acmicpc.net/problem/1068리스트배열 자료형을 이용하여 자식 노드 번호들을 리스트에 담아 주었다.그리고 삭제되는 노드부터 아래방향으로 돌면서(트리기준) 자식들을 타고타고 내려가면서 자식들을 삭제해주었다. 삭제
문제 링크 - https://www.acmicpc.net/problem/17140시뮬레이션 문제였다.아래 코드에서 while(true)조건을 이용해 반복하다가 정답이 나오거나 문제에서 요구한대로 100초가 지나게 되면 -1를 출력하도록 했다.R연산, C연산 함
문제 링크 - https://www.acmicpc.net/problem/1005주어진 K개의 건설순서 규칙을 토대로 인접리스트를 만들어주었다. 이때, 각 노드의 진입차수가 몇인지도 indegree배열에 저장해주었다.진입차수가 0인 지점이, 탐색 시작지점이 되므
문제 링크 - https://www.acmicpc.net/problem/1041매우 헤맸던 문제이다 .... 우선 NxNxN개의 주사위가 모인 정육면체를 살펴보면, 주사위의 3가지 경우로 정육면체의 겉면을 나타낼 수 있다. (문제에서 바닥면은 안보인다고 했으므
문제 링크 - https://www.acmicpc.net/problem/2573문제에서 요구하는 그대로 구현하면 되는 문제였다.함수 하나 당 하나의 기능을 하도록 나눴더니 함수가 좀 많아졌다.시뮬레이션하는 반복문 안에서 아래과정 반복두 덩어리 이상으로 분리되기
문제 링크 - https://www.acmicpc.net/problem/12452달전에 풀었다고 나와있는 문제라서 금방 풀 줄 알았는데 매우 헤맸다. (심지어 전에 제출했던거 봐도 못알아먹음 ...)2중포문으로 2차원 배열을 전부 돌면서 (i,j)좌표가 산봉우
문제 링크 - https://www.acmicpc.net/problem/1647문제에서 구하라고 하는 것을 요약하면, 최소 스패닝 트리를 구해서 간선 비용 합의 최솟값을 구하는 것이다.이때 마을을 두개로 분할해야 하는데, 문제를 읽어보면 별 다른 조건 없이 두
문제 링크 - https://www.acmicpc.net/problem/2110문제를 읽고 이분탐색 인것은 깨달았지만 어떤 값을 이분탐색의 대상으로 두어야 할지가 매우 헷갈렸다.구글링을 통해 힌트를 얻어서, 인접한 집 사이의 거리 자체를 이분탐색의 대상으로 두
문제 링크 - https://www.acmicpc.net/problem/17089어떻게 풀어야 할지 막막했던 문제이다.처음에 생각한 방법은 다음과 같다.N Combination 3 연산을 통해 3명을 선택한다.그 3명이 서로 친구인지 확인한다.서로 친구라면 A
문제 링크 - https://www.acmicpc.net/problem/1753가중치 개념이 없는 단순 최소 경로 문제 → BFS가중치 개념이 있고, 한 노드 기준으로 다른 노드까지의 최소 경로를 구하는 문제 → 다익스트라 ✅가중치 개념이 있고, 모든 노드
처음에는 어떻게 풀어야 할지 감이 안와서 완전탐색의 방법밖에 떠오르지 않았다.모든 정점을 시작정점으로 지정하여 BFS를 돌리고, 한번 BFS를 돌릴때 마다 시작정점에서 가장 먼 정점까지의 거리 값을answer에 저장해 주었다.하지만 이 방식은 시간초과가 발생했다. (
문제 링크 - https://www.acmicpc.net/problem/1976문제에서 요구하는 것은 여행 계획에 속한 도시들이 주어졌을 때, 여행이 가능한지만 판별하면 되는 문제였다.그렇기 때문에 계획으로 주어진 도시들이 연결된 그래프이면 YES이고, 하나라
문제 링크 - https://www.acmicpc.net/problem/1863어떻게 풀어야 할지 막막해서 백준 힌트를 통해 스택으로 푸는 것이라는걸 알아냈지만 그 이후에도 감이 안와서 구글링을 참고 하였다.다음과 같은 규칙을 찾아내고, 이 과정을 stack을