
기본제출시 클래스명은 MainMain 이외의 클래스를 추가로 쓰고 싶으면 public이 아닌 클래스 혹은 inner 클래스로 사용main문 자체가 static 함수이므로 거기서 사용하는 전역변수 및 모든 함수 또한 static이어야 한다.import 부분은 포함, pa

피보나치 수 5 문제 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 된다. n=17일때 까

"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다."OOXXOXXOOO"의 점수는 1+2+

상근이의 할머니는 아래 그림과 같이 오래된 다이얼 전화기를 사용한다.전화를 걸고 싶은 번호가 있다면, 숫자를 하나를 누른 다음에 금속 핀이 있는 곳 까지 시계방향으로 돌려야 한다. 숫자를 하나 누르면 다이얼이 처음 위치로 돌아가고, 다음 숫자를 누르려면 다이얼을 처음

상근이는 혼자 보드 게임을 하고 있다. 이 보드 게임의 보드는 N칸으로 이루어져 있고, 출발점은 1칸, 도착점은 N칸이다. 각 칸에는 지시 사항이 적혀있다. 지시 사항은 말을 얼만큼 이동해야 하는지가 쓰여 있다. 상근이는 도착점에 도착할 때까지 주사위를 굴려 나온 눈의

카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다.한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들어 상근, 창영이와

카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다.한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들어 상근, 창영이와

월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 인건비 등 총 B만원의 가변 비용이 든다고 한다.예를 들어 A=1,000, B=

유진수는 어떤 수를 10진수로 표현한 뒤 그 수를 두 부분으로 나눴을 때, 앞부분 자리수의 곱과 뒷부분 자리수의 곱이 같을 때를 말한다.예를 들어, 1221은 유진수이다. 12와 21로 나눴을 때, 앞부분 자리수의 곱 12는 뒷부분 자리수의 곱 21과 같기 때문이다.

알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.입력첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않

영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다.입력첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문

0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른

N보다 작거나 같은 자연수 중에서, 집합 K의 원소로만 구성된 가장 큰 수를 출력하는 프로그램을 작성하시오. K의 모든 원소는 1부터 9까지의 자연수로만 구성된다.예를 들어 N=657이고, K={1, 5, 7}일 때 답은 577이다.입력첫째 줄에 N, K의 원소의 개수

10430번: 나머지 문제 (A+B)%C는 ((A%C) + (B%C))%C 와 같을까? (A×B)%C는 ((A%C) × (B%C))%C 와 같을까? 세 수 A, B, C가 주어졌을 때, 위의 네 가지 값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 A, B,

2와 5로 나누어 떨어지지 않는 정수 n(1 ≤ n ≤ 10000)가 주어졌을 때, 각 자릿수가 모두 1로만 이루어진 n의 배수를 찾는 프로그램을 작성하시오.입력입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, n이 주어진다

양수 A가 N의 진짜 약수가 되려면, N이 A의 배수이고, A가 1과 N이 아니어야 한다. 어떤 수 N의 진짜 약수가 모두 주어질 때, N을 구하는 프로그램을 작성하시오.입력첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째

17427번: 약수의 합 2 문제 두 자연수 A와 B가 있을 때, A = BC를 만족하는 자연수 C를 A의 약수라고 한다. 예를 들어, 2의 약수는 1, 2가 있고, 24의 약수는 1, 2, 3, 4, 6, 8, 12, 24가 있다. 자연수 A의 약수의 합은 A의 모

두 자연수 A와 B가 있을 때, A = BC를 만족하는 자연수 C를 A의 약수라고 한다. 예를 들어, 2의 약수는 1, 2가 있고, 24의 약수는 1, 2, 3, 4, 6, 8, 12, 24가 있다. 자연수 A의 약수의 합은 A의 모든 약수를 더한 값이고, f(A)로

두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오.입력첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000이하의 자연수이며 사이에 한 칸의 공백이 주어진다.출력첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는

주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.입력첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.출력주어진 수들 중 소수의 개수를 출력한다.

M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오.입력첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다.출력한 줄에 하나씩, 증가하는 순서대로 소수를

1742년, 독일의 아마추어 수학가 크리스티안 골드바흐는 레온하르트 오일러에게 다음과 같은 추측을 제안하는 편지를 보냈다.4보다 큰 모든 짝수는 두 홀수 소수의 합으로 나타낼 수 있다.예를 들어 8은 3 + 5로 나타낼 수 있고, 3과 5는 모두 홀수인 소수이다. 또,

왕비를 피해 일곱 난쟁이들과 함께 평화롭게 생활하고 있던 백설공주에게 위기가 찾아왔다. 일과를 마치고 돌아온 난쟁이가 일곱 명이 아닌 아홉 명이었던 것이다.아홉 명의 난쟁이는 모두 자신이 "백설 공주와 일곱 난쟁이"의 주인공이라고 주장했다. 뛰어난 수학적 직관력을 가지

정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다.1+1+1+11+1+21+2+12+1+12+21+33+1정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작

1부터 N까지의 수를 이어서 쓰면 다음과 같이 새로운 하나의 수를 얻을 수 있다.1234567891011121314151617181920212223...이렇게 만들어진 새로운 수는 몇 자리 수일까? 이 수의 자릿수를 구하는 프로그램을 작성하시오.입력첫째 줄에 N(1 ≤

1부터 N까지의 수로 이루어진 순열이 있다. 이때, 사전순으로 다음에 오는 순열을 구하는 프로그램을 작성하시오.사전 순으로 가장 앞서는 순열은 오름차순으로 이루어진 순열이고, 가장 마지막에 오는 순열은 내림차순으로 이루어진 순열이다.N = 3인 경우에 사전순으로 순열을

1부터 N까지의 수로 이루어진 순열이 있다. 이때, 사전순으로 바로 이전에 오는 순열을 구하는 프로그램을 작성하시오.사전 순으로 가장 앞서는 순열은 오름차순으로 이루어진 순열이고, 가장 마지막에 오는 순열은 내림차순으로 이루어진 순열이다.N = 3인 경우에 사전순으로

N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오.입력첫째 줄에 N(1 ≤ N ≤ 8)이 주어진다. 출력첫째 줄부터 N!개의 줄에 걸쳐서 모든 순열을 사전순으로 출력한다.for문은 백준 10972 참고https:

독일 로또는 {1, 2, ..., 49}에서 수 6개를 고른다.로또 번호를 선택하는데 사용되는 가장 유명한 전략은 49가지 수 중 k(k>6)개의 수를 골라 집합 S를 만든 다음 그 수만 가지고 번호를 선택하는 것이다.예를 들어, k=8, S={1,2,3,5,8,13,

N개의 정수로 이루어진 수열이 있을 때, 크기가 양수인 부분수열 중에서 그 수열의 원소를 다 더한 값이 S가 되는 경우의 수를 구하는 프로그램을 작성하시오.입력첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,00

오늘은 스타트링크에 다니는 사람들이 모여서 축구를 해보려고 한다. 축구는 평일 오후에 하고 의무 참석도 아니다. 축구를 하기 위해 모인 사람은 총 N명이고 신기하게도 N은 짝수이다. 이제 N/2명으로 이루어진 스타트 팀과 링크 팀으로 사람들을 나눠야 한다.BOJ를 운영

정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다.X가 3으로 나누어 떨어지면, 3으로 나눈다.X가 2로 나누어 떨어지면, 2로 나눈다.1을 뺀다.정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의

2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오.아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다.입력첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000)출력첫째 줄에 2×n 크기의 직사각형을 채우는 방

https://www.acmicpc.net/problem/11382처음에는 int형으로 작성해서 runtime오류가 떴었다.int형보다 큰 값을 출력하므로 long타입을 사용해야 함!

생성자가 없는 경우에는 0을 출력해야한다는걸 명심!for문을 0부터 돌려도 되긴 하지만 분해합은 N + N의 각자 리수의 합 이기 때문에 가장 작은 생성자가 될 수 있는 수는 분해합에서 분해합의 자릿수 갯수만큼 9를 빼준 수임. 따라서 그 수부터 for문을 돌리면 더

김진영이 듣도 못한 사람의 명단과, 보도 못한 사람의 명단이 주어질 때, 듣도 보도 못한 사람의 명단을 구하는 프로그램을 작성하시오.입력첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이

HashMap에 입력을 받고 iterator를 통해 value값이 'enter'인 사람만 ArrayList에 넣어 내림차순으로 출력해줌HashMap에 입력받은 사람이 없다면 add, 있다면 remove💡 풀이2의 방법이 메모리를 더 적제 잡고 시간도 빠르다!💡 문
문제 ✔ 난이도 - Bronze 2 설명 > N이 2라고 가정 H가 1, 2, 3일때 앉을 수 있는 인원은 1 H가 4, 5, 6일때 앉을 수 있는 인원은 2 H가 7, 8, 9일때 앉을 수 있는 인원은 3 H / (N+1) 의 몫이 x x x+1 로 반복되고있음. 그리고 이때 x+1이 인원의 수임. 그러나 H가 4,5 일때와 6 일때의 몫이 다르기때문...

✔ 난이도 - Bronze 2중첩 for문이 4개면 런타임 에러가 난다. 최대 3개까지 가능.주사위의 눈이 몇번 나왔는지 쉽게 카운트하기 위해 HashMap 사용.https://velog.io/@seha01130/HashMap이란-메소드-종류-정리

✔ 난이도 - Bronze 1input1로 받은 string을 toCharArray()를 사용하여 char\[]로 변경 후 for-each문을 돌며 ArrayList에 add해줌.char\[] 배열은 가변배열이 아니므로 크기를 동적으로 변경하려면 ArrayList를 활

✔ 난이도 - Bronze 2HashMap에 대해 알고만 있다면 정말 쉬운 문제https://velog.io/@seha01130/HashMap이란-메소드-종류-정리

✔ 난이도 - Bronze 1❌ 처음에 최고점수 구하는걸 중첩for문 3개를 사용했더니 런타임에러가 떴었다. 라운드별로(첫번째for문) 상근이가 s,p,r을 낼 때 각각을 기준으로(두번째for문) 친구들이 낸 가위바위보와 비교하며 계산(세번째for문)⭕ 두번째 for문

✔ 난이도 - Silver 4❌ 처음에는 순회하면서 K의 배수들을 원래 리스트에서 remove() 하면서 정답 리스트에 add()해주는 방식으로 하려 했으나 그렇게 되면 기존 리스트가 계속 변경되어 인덱스가 꼬이게 된다. 즉, 한 번 끝까지 순회할때까지 리스트는 변동되

✔ 난이도 - Silver 4https://velog.io/@seha01130/백준JAVA-1158번-요세푸스-문제위의 문제를 풀 수 있다면 바로 풀 수 있다나는 처음에 아래처럼 코드를 짰음.카드가 한 장 남을때까지 반복하는데, 무엇을 반복하냐면 버리고

✔ 난이도 - Silver 4처음에는 규칙이 있는 단순 구현문제라고 생각해서 엄청 헤맸었다. 그런데 스택을 사용한다면 바로 풀 수 있는 문제였다. 문제를 보고 어떤 알고리즘을 사용해야할지는 언제쯤 감을 잡을 수 있을까..📌 https://velog.io/@s

✔ 난이도 - Silver 4스택에 대해 알고 있다면 바로 풀 수 있는 문제https://velog.io/@seha01130/JAVA-스택Stack-정리출력할때마다 .append("\\n")를 붙여주면 마지막까지 개행문자가 들어가게된다. 백준플랫폼에서는 출력

✔ 난이도 - Silver 4덱에 대해 알고 있다면 바로 풀 수 있는 문제 https://velog.io/@seha01130/JAVA-덱Deque-정리 나는 switch문을 써서 했는데 Command 패턴 스타일로 Map<String, Runnable>을 이용해서 짜는

문제 ✔ 난이도 - Silver 4 설명 > 백준 알고리즘은 스택으로 분류되어있지만 요즘은 덱으로 많이 대체되고 있는 추세라 덱으로 풀었다 https://velog.io/@seha01130/JAVA-덱Deque-정리 > 처음에는 아래처럼 코드를 작성했는데 그럼 처음

문제 ✔ 난이도 - Silver 4 업로드중.. 설명 > 백준 알고리즘은 큐로 분류되어있지만 덱으로 풀었다 https://velog.io/@seha01130/JAVA-덱Deque-정리 > 설명은 https://velog.io/@seha01130/백준JAVA-1158

✔ 난이도 - Silver 4HashMap을 사용하여 도서의 제목과 갯수를 저장하고, 2번의 정렬이 필요한 문제였다.1\. value로 내림차순 정렬2\. key로 오름차순 정렬.📌 https://velog.io/@seha01130/JAVA-HashMap-정

✔ 난이도 - Silver 4GCD : 최대공약수 구하기유클리드 호제법 사용 :큰 수(a)를 작은 수(b)로 나누면서 나머지를 구하고, 그 나머지가 0이 될때까지 작은수(a)와 그 나머지(b)를 다시 나눈다. 나눈 나머지가 0이 된다면 a가 GCD가 된다.그러나 두 수

✔ 난이도 - Silver 3숫자는 중복없이 고르고, 순서가 있는 조합(순열)이다.백트래킹 : DFS(깊이 우선 탐색 - 재귀함수 사용) + 방문여부 체크💡백트래킹에서는 선택 -> 재귀 -> 선택취소(복구)가 핵심 패턴!result는 M개의 선택한 순열을 담을 int

✔ 난이도 - Silver 3https://velog.io/@seha01130/백준JAVA-15649번-N과-M-1 와 비슷한 문제지만 순열이 오름차순이라는 조건이 추가되었다.result는 M개의 선택한 순열을 담을 int 배열flagNum 변수는 기준이 되는

✔ 난이도 - Silver 4처음에는 1~N 까지 for문을 돌면서 각각의 숫자를 getDigits() 함수에서 갯수를 세서 더해주었다. 물론 통과하긴했지만 좀 단순무식한 방법.그래서 두 번째엔 규칙을 찾아보았다.구간별로 갯수에 규칙이 존재함을 알아내고 while문을

문제 ✔ 난이도 - Bronze 2 설명 > .indexOf() 을 사용하여 풀 수 있다. 풀이 TIL💡 📌 String으로 형변환하기 String.valueOf VS .toString() 공통점 : Object 값을 String 형으로 변환할 때 주로 사용하

문제 ✔ 난이도 - Silver 3 설명 > 빨대의 길이를 기준으로 내림차순을 한 후 https://velog.io/@seha01130/JAVA-ArrayList-정렬하기 순회하며 3개의 수가 삼각형이 되면 그때 길이의 합을 구한다 삼각형이 될 수 있는 조건 : 가장

✔ 난이도 - Silver 4http://wdown.ebsi.co.kr/W61001/01exam/20061116/mathga1_mun.pdf완전 이진 트리에서 두 노드 a와 b가 주어졌을 때, 그 둘의 공통 조상 k를 찾는 문제이다.각 노드 x의 부모 노드의

✔ 난이도 - Silver 3사용할 수 있는 연산의 갯수가 최대 3개이다보니 분명히 중복되는 계산이 존재할 것이다. 또한, 문제의 최적해가 작은 문제의 최적해로 구성되어있다. (N이 10일때의 루트는 10 -> 9 -> 3 -> 1 인데 이때 각각 9와 3 또한 각각의

✔ 난이도 - Bronze 3연속 몇 번 맞았는지 세는 count 변수를 두어서 그 숫자만큼 result에 더해주는 방식으로 진행했다. 틀릴때는 count값을 다시 0으로 초기화.3개월전에 풀었던 문제인데 그 때 코드보다 훨 좋은 코드로 발전한게 보였다!📌 배열 출력

✔ 난이도 - Bronze 1나는 조합(Combination)을 완전탐색하는 방법으로 9C7 사용9명중 7명을 뽑아 그 합이 100이면 출력하고 아니면 다시 탐색근데 다른 사람들의 풀이를 찾아보니 9명 중 7명을 뽑는건 곧 9명중 2명을 뽑는 것과 같기때문에 9명중 2

✔ 난이도 - Silver 3그래프 탐색 문제이며 DFS, BFS 두 가지 방법으로 모두 풀 수 있다.https://velog.io/@seha01130/DFSDepth-First-Search-깊이우선탐색https://velog.io/@seha01130

✔ 난이도 - Silver 3N개 문서의 중요도와 궁금한 문서가 몇 번째에 놓여있는지 즉, 궁금한 문서의 idx번호가 주어진다.각 문서의 idx와 중요도를 함께 알고 있어야 하기 때문에 int\[] 배열을 써서1\. idx와 2. 중요도이 두 가지를 함께 관리한다.Qu

문제 ✔ 난이도 - Bronze 2 설명 > HashMap을 사용하여 알파벳에 따른 빈도수를 key-value 쌍으로 관리함 그 후 정렬하고 상위 2개를 비교하여(2개 이상일 시) 같으면 ?를, 다르다면 최상단의 key 값을 출력함 공백일때 예외처리도 신경써주기 풀

✔ 난이도 - Bronze 1한 줄에 최대 15문자가 들어갈 수 있다고 정해져있지만 메모리를 낭비하기 싫어서 유동적으로 입력받은 만큼 메모리를 차지하도록 했다.그래서 우선 한 줄을 입력받고 toCharArray()로 문자형배열로 변환한 후, 이차원 배열에 추가해주었다.

✔ 난이도 - Bronze 1입력받은걸 toCharArray로 문자형배열로 저장하고 순회하면서 HashMap에 저장함.이 때 getOrDefault를 사용하여 이미 존재하면 해당 key의 value값을 가져오고, 아니라면 디폴트값을 0으로 설정함.그 후 정렬하고, 만약

✔ 난이도 - Silver 5문제의 조건이 총 3개인데 1\. 모음(a,e,i,o,u) 하나를 반드시 포함하여야 한다.2\. 모음이 3개 혹은 자음이 3개 연속으로 오면 안 된다.3\. 같은 글자가 연속적으로 두번 오면 안되나, ee 와 oo는 허용한다.이 세개를 모두

✔ 난이도 - Silver 3🌟 방법 2. if문 활용 부분 참고O(N \* L \* log N)for 루프는 N번 반복됩니다.루프 내부에서 hm.put()과 hm.getOrDefault()가 호출됩니다. HashMap에서 문자열(String)을 키로 사용할 때, 해

✔ 난이도 - Silver 3홀수개인건 무조건 하나여야 함. 만약 아니라면 바로 아임쏘리 출력하고 끝홀수인거 갯수 하나 빼서 짝수로 만들자. 갯수 하나 뺀 거 그거는 무조건 가운데에 위치하게 함.나머지는 다 짝수개여야 함!짝수개인거를(이젠 나왔던 모든알파벳이겠죠) 알파

✔ 난이도 - Silver 3\[JAVA] 덱(Deque) 정리태그 내부인지 아닌지를 판별하는 변수 tag태그 내부로 들어가면 덱에 addLast로 하고 pop을 하여 순차대로 꺼낼 수 있게 한다.태그 외부 즉, 단어이면 덱에 addFirst로 하고 pop을 하여 거꾸

✔ 난이도 - Silver 3그냥 . 기준으로 StringTokenizer로 나누고, HashMap 사용해서 확장자와 그 갯수를 세면 된다.그러고 정렬하면 끝!https://velog.io/@seha01130/HashMap이란-메소드-종류-정리https

✔ 난이도 - Silver 2DFS 간단 정리 참고방향이 없는 그래프이므로 간선을 양쪽 방향으로 모두 저장해야함.우선 러프하게 생각해보자면,어떤 노드B가 방문되었다는건 현재 내 노드A와 그 어떤 노드B가 연결되어 있다는 뜻이다. 즉, '연결 요소'라는 뜻.main에서

✔ 난이도 - Silver 2DFS 간단 정리 참고싫어하는 채널을 좋아하는 채널로 바꾸는 방향이 있는 그래프이므로 간선을 한쪽 방향으로만 저장해야함.간선 저장 후 계속 반복문을 돈다이 때 끊임없이 채널을 돌리게 되는 경우는, 한 번 켰던 싫어하는 채널이 다시 또 켜졌을

✔ 난이도 - Silver 1플로이드 와샬 알고리즘 문제이다.아래의 블로그 설명을 참고하였다.참고 블로그

✔ 난이도 - Silver 5이해만 잘 하면 쉬운 문제이다.단순하게 준환이는 가능할때마다 매수하도록 하면 되고,성민이는 3일 연속 상승인지 하락인지 여부에 따라 매도, 매수하면 된다.

✔ 난이도 - Silver 2문자열을 배열에 쭉 넣고 하나씩 훑어.count는 1부터 시작하면서 ++되면서 검사하는데, 현재 찾는 수가 count 내에 존재하는지 확인해이 때 count가 123일때 찾는 수가 1이라면 존재하는건데 만약 그 다음 찾는수가 2라면 같은 c

✔ 난이도 - Silver 3팀 순서 저장할 배열에 입력받은거 쭉 넣으면서, 팀에 대한 팀원수도 HashMap에 저장해 - teammatesCountN만큼 돌면서 teammatesCount가 6인 팀에 대해서만 등수를 매겨. - rank상위 4명 저장할 HashMap,

✔ 난이도 - Silver 3N번 반복경기시간은 48:00현재 팀 별 점수를 기록하는 arr가 있어야함 score2골 넣었을 때 이기고있는 팀에다가 시간 계산(다음골넣은시간 - 현재시간)해서 더해줌.골 넣었을 때 동점이면 걍 continue;마지막은 (45분 - 현재

[문제](https://www.acmicpc.net/problem/1913 ✔ 난이도 - Silver 3 설명1 N \* N 개의 이차원 배열 만들고 0 부터 시작 -> N \* N 수 부터 시작하면서 최종 1일때까지 -- 해나갈건데 아래 -> 오른쪽 -> 위 ->

✔ 난이도 - Silver 1인접행렬에서 1인 좌표를 graph에 저장(방향0)(0,0) ~ (N-1,N-1) 까지 돌면서 i->j 길이 있는지 graph를 통해서 확인매 좌표 검사할때마다 stack, visited, answer 초기화해줘야 함i번째줄의 i는 항상 0

✔ 난이도 - Silver 1(0,0) ~ (N,N) 확인하면서 1인 좌표에서 시작.오른쪽 -> 아래 -> 왼쪽 -> 위 순서대로 탐색탐색한 부분이 1이면 그 위치로 가서 또 다시 탐색. 이 떄 탐색했다는 의미로 숫자를 0으로 변경해줌.만약 탐색해도 1이 없으면 백트

✔ 난이도 - Silver 1(0,0) ~ (N,N) 확인하면서 1인 좌표에서 시작.오른쪽 -> 아래 -> 왼쪽 -> 위 순서대로 탐색탐색한 부분이 1이면 그 위치로 가서 또 다시 탐색. 이 떄 탐색했다는 의미로 숫자를 0으로 변경해줌.만약 탐색해도 1이 없으면 백트

✔ 난이도 - Silver 1(0,0) ~ (N,N) 확인하면서 1인 좌표에서 시작.오른쪽 -> 아래 -> 왼쪽 -> 위 순서대로 탐색탐색한 부분이 1이면 그 위치로 가서 또 다시 탐색. 이 떄 탐색했다는 의미로 숫자를 0으로 변경해줌.만약 탐색해도 1이 없으면 백트
문제 ✔ 난이도 - Silver 1 설명 직사각형 내부 좌표들을 다 1로 채우자 모눈종이는 왼쪽하단이 (0,0) 이지만, 배열은 왼쪽상단이 (0,0) 이니까 편하게 계산하기 위해서 모눈종이를 시계방향으로 90도 돌려서 배열과 같이 계산할 수 있게 생각하자. 그럼 배열 크기도 N이 되겠지. 어차피 영역의 개수와 크기를 구하는거니까 이렇게 생각해도 상관없음...

✔ 난이도 - Gold 5NxN 배열에 입력을 받아 (정상인, 적록색상인 따로 - 적록색상인은 G을 R로 치환)hm 으로 색깔 별 구역 갯수 카운드 (정상인, 적록색상인 따로)각각(0,0) 부터 for문 돌면서 탐색색 있는 부분(O아닌 부분) 발견하면 거기부터 bfs로

✔ 난이도 - Gold 52개~N개 조합을 쭉 뽑으면서 검사그러니까 1~N 까지 돌면서 2개씩 뽑는 조합을 검사하고 그다음은 1~N까지 돌면서 3개씩 뽑는 조합을 검사하고,,, 이걸 N개씩 뽑는 조합까지 검사N개 중에 2개를 뽑고, 3개를 뽑고... 이렇게 모든 조합을

✔ 난이도 - Silver 2bfs나의 주변부터 연결된애들 쭉 탐색하는데 그때마다 각각에 대한 촌수 계산최단거리 탐색과 동일함visited 여부 당연히 체크해야하고, queue에는 현재 누군인지와, 그 사람과의 촌수를 저장⚠️ BFS에서 거리를 계산할 때는 "현재 노드

✔ 난이도 - Gold 5bfs오른쪽 -> 아래 -> 왼쪽 -> 위 순서대로 돌아가면서 검사구역의 갯수를 구하면 그게 곧 배추흰지렁이의 갯수이다.(0,0) 부터 시작하면서 검사 -> 1 마주치면 검사시작검사하면 0으로 변경 (방문했다는 뜻)Queue 활용해서 연결된 구

✔ 난이도 - Silver 1bfs - 최단거리오른쪽 -> 아래 -> 왼쪽 -> 위 방향으로 순회하며 검사Queue 자료구조에는 현재 배열의 row, column값과 (0,0) 으로부터 몇칸 떨어져있는지를 센 count값 을 저장(다음 칸은 이전 칸의 count 수에

✔ 난이도 - Silver 1bfs - 최단거리나이트가 한 번에 움직일 수 있는 거리는 (r, c)으로 보면(-2, 1) (-1, 2) (1, 2) (2, 1) (2, -1) (1, -2) (-1, -2) (-2, -1) 이다저 순서대로 돌면서 bfs로 목표지점 최단거

✔ 난이도 - Silver 1bfs(0,0)부터 쭉 훑으면서 1 있으면 거기부터 탐색시작. 오른쪽 -> 아래 -> 왼쪽 -> 위 순으로 탐색1이 있으면 음식물 크기 ++, 방문표시하기가장 큰 음식물인지 아닌지는 따로 max값으로 판별$O(N^2)$

✔ 난이도 - Gold 5bfsmulti source. 시작점이 여러곳임좌표 쭉 돌면서 익은 토마토(1)를 queue에 넣는다 (처음부터 0이 없으면 0을 출력 (다 익어있다) )그러고 bfs를 돌리면 여러지점에서 동시에 퍼져나가도록 할 수 있음.다 돌렸는데도 안익은

✔ 난이도 - Gold 4bfs물 먼저 for문 돌면서 인접한 곳 다 물로 채우고 \*그다음에 고슴도치 이동하는데 원래 있던곳으로 다시 돌아가면 안되니까 나온곳은 X 표시1분마다 위의 두가지를 반복해야한다.따라서 각각 queue를 두고각각의 queue의 현재 크기만큼이

✔ 난이도 - Silver 2각 방 별 기준 점수 기록 필요 -> 처음으로 방 들어온 사람(생성한 사람)새로운사람 들어올때마다 방 돌면서 빈자리있고, 기준 점수에서 -+10인지 보고 맞으면 넣고, 아니면 방 새로 만들기방1 (기준레벨, 인원수)레벨 / 닉넴레벨 / 닉넴

✔ 난이도 - Silver 2두 개의 방법이 있음!1번째 방법은 정석적인 방법이고, 2번째 방법은 반대로 생각한 느낌! 2번이 더 간단하긴 하다!n개의 배열 마련해놓고키 작은사람부터 확인하면서 자기보다 큰 사람의 수만큼 빈 공간 두고 그 다음칸에 넣기.앞으로 확인할 사