📖백준 알고리즘 4673 - 셀프넘버 📜문제
우선, 1~99까지 숫자는 한수의 개수가 N개임.100이상은 입력받는 수를 배열에 넣고, 0,1 차이와 2,1 차이가 같으면 cnt를 증가시켜,cnt를 return 해보자HanSu(n) 함수 만들기100미만 / 100이상 기준으로 if문을 사용하는데, 100이상 케이스
입력을 받아 2차원배열에 넣고 첫번째열(나이)만 정렬하자.(나이가 같을 때는 먼저 가입한 순서 = 입력한 순서이므로 두번째열(이름)은 정렬하지 않음)정렬한 문자열은 format을 이용하여 형식에 맞게 출력해보자tc(test case)만큼 a,b로 입력받아 person에
숫자를 순서대로 정렬해야하므로 str()로 받았다가 map()으로 int로 변경하여 list로 저장하자sort(key=lambda x:-x)를 이용하여 내림차순 정렬하고,print()의 end=''를 이용하여 공백(\\n)없이 출력하자입력받음 → str()로 문자로 변
📖[Python/파이썬] 백준 알고리즘 10816 - 숫자카드2 📜문제 📕풀이방향 이분탐색(binary_search)하여 원하는 카드의 개수를 찾아내는 bs()함수를 만들고, N,M,각 카드를 입력받아 dictionary에 저장하자 (카드 개수는 dictiona
testcase(tc)를 변수에 저장하고 tc만큼 반복문을 돌려서 몸무게(a),키(b)를 입력받아 person이라는 1차원배열에 a,b형식으로 저장해서 2차원배열을 만들자person0인덱스를 person0~4를 차례로 2중첩 반복문으로 비교해주자2중첩 반복문에서 per
S는 집합.set()로, M개의 비교문자열은 list()로 선언하고,M 비교문자열 요소를 처음부터 끝까지 집합 S에 포함되어 있는지 검사하면서포함되어 있으면 cnt를 증가시키자N,M을 입력받고, S를 .set()으로, comp(문자열)을 list()로 선언comp의 요
...(포켓몬 가지고 치고박고 싸우는 건)중략...N,M을 입력받고 pok_name, pok_num을 딕셔너리(dictionary)로 선언하자pok_name은 이름을 가져올 수 있게, pok_num은 순서값을 가져올 수 있게 저장하자M크기만큼 리스트 test에 입력값을
문자열 s를 입력받고 si:j와 set()을 이용하여 문자열을 잘라서 저장하자(set은 중복을 제거하므로 중복케이스는 제거하여 출력해줄 것임!)s문자열 입력받고 s_set() 빈 집합을 만들고,1중첩 n을 len(s)만큼 증가시키고,2중첩 i를 1~len(s)+1만큼
📖[Python/파이썬] 백준 알고리즘 2581 - 소수 📜문제 📕풀이방향 입력값m,n과 number(m~n까지)리스트로 저장하자 sosu라는 리스트를 만들어서 소수를 저장할껀데, number x번째인덱스를 index순서대로 '2~(number[x]-1)'로 나
https://velog.io/@keynene/Python-%EB%B0%B1%EC%A4%80-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-2581-%EC%86%8C%EC%88%98위 url에서 소수에 대해 다룬 문제가 있는데 이렇게 구현하
문제에서 주어진 범위(1 ≤ n ≤ 123,456)를 주의하자 (2n까지이므로 246,912까지..)가장 최악의 O(N)을 생각해보자 (n=123,456이고 2n=246,912 ..)https://velog.io/@keynene/Python-%EB%B0%B1%
N이 2의 배수인데다, N의 범위도 만만해서 2~n까지 2의배수만 모두 소수를 구해 저장해놓고,abs(절댓값)함수로 N의 소수들을 비교하면서 출력할 생각을 하면 큰 코 다친다...🤦🏻♀️https://velog.io/@keynene/Python-%EB%B
n,m을 입력받고 num이라는 list를 정의하자자릿수마다 n의 경우의 수만큼 순서대로 고르는 함수 bt()를 만들자for loof으로 i를 1~n만큼 증가시키면서 num에 append()하여 num 길이가 m이면 출력, m보다 작으면 bt()를 재호출하자 ※ m자릿수
\-가능한 모든 경우의 수 중에서 특정한 조건을 만족하는 경우만 탐색하는 알고리즘\-즉, 해가 될 만한지 사전에 판단하고 그렇지 않으면 되돌아가여(Back-Tracking) 탐색함내 포스팅 : \[Python/파이썬] 백준 알고리즘 15649 - N과 M (1)이전 포
임의의 한 노드에서 시작해서 다음 분기로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 방법자기 자신을 호출하는 재귀/순환 알고리즘의 형태임노드 방문 여부를 검사해놔야 무한루프에 빠질 위험이 줄어듦주로 백트래킹과 함께 쓰여, 모든 노드를 다 방문하는 것을 차단함"연결 요
임의의 한 노드에서 시작해서 다음 분기로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 방법자기 자신을 호출하는 재귀/순환 알고리즘의 형태임노드 방문 여부를 검사해놔야 무한루프에 빠질 위험이 줄어듦주로 백트래킹과 함께 쓰여, 모든 노드를 다 방문하는 것을 차단함내 포스팅
📖Python/파이썬 백준 알고리즘 2583 - 영역 구하기 📜문제 DFS(깊이우선탐색) 임의의 한 노드에서 시작해서 다음 분기로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 방법 자기 자신을 호출하는 재귀/순환 알고리즘의 형태임 노드 방문 여부를 검사해놔야 무
임의의 한 노드에서 시작해서 다음 분기로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 방법내 포스팅 : \[Python/파이썬] \[🥈1] 백준 알고리즘 2583 - 영역 구하기이전 포스팅과 같이 4방향 탐색 DFS로도 접근가능하지만, dx, dy를 이용한 DFS알고
임의의 한 노드에서 시작해서 다음 분기로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 방법사실 DFS알고리즘을 이 문제로 처음 접했는데 이제야 정리가 되어 포스팅한다.우선 n,a(수열),f(연산자)를 저장하고, dfs()함수를 구현하자dfs()함수는 모든 연산자들을 모
임의의 한 노드에서 시작해서 다음 분기로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 방법내 포스팅 : \[Python/파이썬]\[🥈1] 백준 알고리즘 14888 - 연산자 끼워넣기이전 포스팅과 비슷한 DFS알고리즘 + 수열 문제이다.우선 테스트케이스만큼 실행되므로
그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘그래프에서 가까운 노드부터 우선적으로 탐색하는 알고리즘DFS알고리즘은 수차례 연습으로 이제 익숙해졌고, BFS알고리즘을 이번 문제로 처음 접하게 되었다.우선, 다른사람의 풀이를 여러 차례 살펴보니 2가지 풀이방법이 있다
그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘그래프에서 가까운 노드부터 우선적으로 탐색하는 알고리즘n,s(start),e(end),m,노드들을 저장하고, dfs()함수를 통해 start==end일 때, dep을 출력하자n,s(start),e(end),m,노드들을
📖Python/파이썬 백준 알고리즘 9466 - 텀 프로젝트 📜문제 💡알고리즘 Dynamic Programming - DP (다이나믹 프로그래밍) 하나의 문제를 단 한 번만 풀도록 하는 알고리즘 #sub-solution #list #memoization DP를
수학적 원리 및 기본 문법/함수들 속성을 이용하자첫 접근을 잘하자for문 하나라도 더 줄여서 시간을 줄여보자2차원 배열을 이용하여 흰색 도화지를 100\*100을 0으로 초기화해놓고색종이 받을 때마다 1로 매핑하여 최종 도화지 값들의 합을 구하자2차원 배열으로 100\
완전탐색. 즉, 가능한 모든 경우의 수를 모두 탐색하면서 요구조건에 충족하는 결과 출력예외없이 100% 확률로 정답을 출력함첫 접근을 잘 하자 (시계수가 뭔지 파악하는 것이 우선임)시계수 : 입력값을 시계방향으로 돌렸을 때 입력값이 최소값인 경우시계수 확인 및 출력 함