서로 다른 n개의 원소들 중에서 r개만을 뽑아 일렬로 나열하는 것을 순열이라 한다. 예를 들어, 3개의 원소 a, b, c 중에서 2개만을 뽑아 나열하면 ab, ac, ba, bc, ca, cb 의 6가지 경우가 있다. n과 r이 주어질 때, n개의 소문자 중에서 r개
문제 입출력 💡 사고의 흐름 Code
비교할 접시 Input접시는 알파벳 순으로 들어가고, 한 쪽이 막혀 있는 세척기에 들어감 -> stack 활용a,b,c,d .. 순으로 들어가기 때문에 input 의 길이만큼 알파벳을 반복하면서 스택에 넣음, ('a'+i) -> push스택에 넣은 후, 스택의 가장 위
문제 입출력 예시 💡 사고의 흐름 Code import sys n,r=map(int, sys.stdin.readline().split()) graph=[[0 for _ in range(110)] for _ in range(110)] visited=[False] * 110 cnt=0 maxCnt=0 def dfs(node): global cnt ...
Code 2 (수정)
주어진 수 x에서 x\*2, x//3을 하면서 경우를 체크하는 문제이므로 > DFS(너비우선탐색) 으로 풀어주어야 한다.DFS는 queue를 활용한다.q에 x, x\*2, x//3을 집어 넣는다.이때, check에는 counting 값을 넣어 checkx가 x까지 총
dx, dy를 사용하여 주어진 x,y에서 갈 수 있는 지점을 파악해야 한다.범위 내에 존재할 때, mazex+dx가 0일 경우 갈 수 있도록 이동하고 checkx+dx값에 checkx+1 를 기록해두어 check를 통해 거리를 count 할 수 있도록 한다!이때, ch
DFS : queue를 이용BFS : 재귀함수를 이용graph를 입력받고, check 함수를 활용하여 checkfalse일 때 접근할 수 있도록 하여 연결된 정점 노드를 print 한다.DFS, BFS에 대한 기본 문제였다!
1을 최대 1개까지 깰 수 있다라는 말의 의미를 다르게 생각해본다면 쉽게 해결할 수 있는 문제였다.시작점에서 1까지, 도착점에서 1까지의 거리를 각각 구해서 더한다면, 1을 하나 거쳐갈 수 있는 경로의 길이가 나온다. -> 이 부분을 생각하는 것이 힘들었다(힌트로 해결
\-> 가장 먼저 들어온 동물(Order by datetime) limit 1로 두어 하나만 출력!1) 프-웨-그-해-설-오 순서에 따라group by animal_type : 애니멀 타입에 따라 분류를 한 다음,count(animal_id) : 각 type에 따른 a