문제 : https://www.acmicpc.net/problem/10828파이썬에서 스택은 리스트를 활용하자!command = sys.stdin.readline().split()에서 command는 따로 명시 안 해줘도 자동으로 리스트 자료형이 된다.
문제 : https://www.acmicpc.net/problem/9093 💻 Code dataj] = data[j [::-1] 은 파이썬에서 슬라이싱을 활용하여 문자열을 거꾸로 출력하는 방법이다. print(*data) *리스트명 : 리스트가 구분없이 일렬로
문제 : https://www.acmicpc.net/problem/9012( , ) 개수가 서로 같아야 한다.( 나온 후에는 반드시 ) 나와야 한다.스택을 활용하여 마지막에 높이 0을 유지하자
문제 : https://www.acmicpc.net/problem/1406 커서를 left_stack과 right_stack 사이에 있다고 가정하고 문제를 풀었다.
문제 : https://www.acmicpc.net/problem/1874스택 자료구조를 활용하여 오름차순 수열을 만드는 문제. 머리가 안 좋아서 문제를 이해 하는 데만 10분은 걸린 듯 하다.코드를 보면 입력 값을 하나씩 받게 된다. \-> 한 번에 모든 입
문제 : https://www.acmicpc.net/problem/10845파이썬답게 deque를 사용하였다 \-> 사용법솔직히 쓰면서 너무 if문 남발한거 같아 초짜같아가지고(초짜맞음) 다른 사람들거좀 뒤져봤다.다음부터는 try-except로 예외처리를 하
문제 : https://www.acmicpc.net/problem/1158 > 쉬워보이면서 쉽지는 않았던 문제 💻 Code num(index)에 k-1만큼 더하는 이유는 하나가 빠지고(pop) k 만큼 증가하기 때문! k(주기)가 리스트의 길이(인원 수)보다 같
문제 : https://www.acmicpc.net/problem/10866같은 패턴 문제 연속으로 풀어서 지겹긴 하지만 deque랑 try문이나 쓰려고 풀어봤다.
문제 : https://www.acmicpc.net/problem/17413 ''를 만날때까지 정상출력한다.
문제 : https://www.acmicpc.net/problem/10799이전 아이템이 무엇인지 확인하는 작업이 포함되어 있으니까 리스트에서 아이템을 하나씩 꺼내는 방식이 아니라 인덱스로 반복문을 돌려야 효율적이라는 점을 알았다.도저히 모르겠어서 코드 거의
문제 : https://www.acmicpc.net/problem/17298문제 자체를 이해하는데에는 어려움이 없었다.왼쪽에서 큰 수 발견하면 print(item)큰 수가 없을경우 print(-1)숫자가 끝에 있을경우 print(-1)간단하게 이 방식으로 코드
문제 : https://www.acmicpc.net/problem/17299 💻 Code 각 원소별 개수 세는 방법(링크)
문제 : https://www.acmicpc.net/problem/1935먼저 입력받은 피연산자의 개수만큼 operand 스택을 초기화후위표기식을 입력받은 후 피연산자의 값을 operand 스택에 넣기후위표기식을 순회알파벳을 만날 경우 stack에 그 값을 넣
문제 : https://www.acmicpc.net/problem/1918A~Z (피연산자)는 바로 result에\* or / 일 경우 stack이 존재하고 top이 (이 아니라면 -> 괄호 연산이라면 괄호가 끝날때까지 stack의 top이 \* 또는 /
문제 : https://www.acmicpc.net/problem/10820이 문제의 특징은 입력값의 개수를 받지 않는다는 것이다.때문에 두가지 방법으로 이를 처리할 수 있다. 1\. input()으로 입력 받았을 경우 2\. readline()으로
문제 : https://www.acmicpc.net/problem/11655대문자, 소문자일 경우 아스키코드로 계산나머지는 그대로 출력
문제 : https://www.acmicpc.net/problem/11656처음 리스트에 접미사를 집어넣을 때는 앞이든 뒤든 순서 상관은 없었다. \-> 어차피 정렬할거니까그리고 변수에 정렬된 리스트를 재할당할 필요도 없었다 \-> for문에 정렬된 리스
문제 : https://www.acmicpc.net/problem/19291일경우 소수가 아니므로 continue2부터 나눠지는 수가 1과 자기 자신 뿐이라면 ans에 append불필요한 계산을 피하기 위해 나누어 떨어지는 수가 있다면 중간에 break해주었다
문제 : https://www.acmicpc.net/problem/1676처음에는 팩토리얼 구하면서 중간중간 그 값을 10으로 나누어 오버플로우 방지하고 카운트 올리고 뭐 이런방법으로 하는 거일줄 알았지만 생각보다 단순했다.팩토리얼로 얻을 수 있는 수를 인수
문제 : https://www.acmicpc.net/problem/2004이 문제는 팩토리얼 0의 개수 문제와는 약간 다르다 (끝자리가 0 -> 10의 배수 (2x5))조합의 경우 최종적인 값은 팩토리얼 형태가 아니므로 5의 개수만 고려해서는 안된다. 이 경우
문제 : https://www.acmicpc.net/problem/17087문제의 첫 번째 테스트 케이스로 보았을 때 (S:3, A: 1, 7, 11)1\. S(3)와 가장 가까운 A를 찾기 -> 12\. 그 두 값의 차이에 절대값을 씌우면 가장 가까운 동생과
문제 : https://www.acmicpc.net/problem/1373 >1. 주어진 2진수를 3자리씩 끊은다음에 각 자리수에 4, 2, 1을 곱해줘서 자릿수마다 더해주면 8진수이다. 💻 Code input()[::-1]로 값을 거꾸로 받을 수도 있다는 것을
문제 : https://www.acmicpc.net/problem/1463 (실버3)dp\[] : 최소연산횟수를 저장하는 listfor i in range(2, n+1) : 2부터 시작하는 이유는 0 과 1은 연산횟수가 0번이기 때문 (0은 고려 안해도됨,
문제 : https://www.acmicpc.net/problem/11726dp.append(dp\[i-1] + dp\[i-2]) 점화식 도출 ⬇️
문제 : https://www.acmicpc.net/problem/11727설명은 2\*n 타일링과 동일하다 경우의 수 만 하나 더 늘었다는..
문제 : https://www.acmicpc.net/problem/15990단순히 1차원적으로 규칙을 찾으려하면 안되는 문제 (2차원배열 활용)연속적인 숫자가 오면 안되기 때문에 1,2,3으로 끝나는 경우 세 가지를 생각해야 한다.이해를 돕기 위해 n=10으로
문제 : https://www.acmicpc.net/problem/11052i개의 카드를 구매하기 위한 최대 금액 : dpik개가 들어있는 카드 팩 : cpkdpi = cpk + dpi-k 가 성립중첩 for문을 사용해서 카드팩 종류의개수만큼 반복문제 : ht
문제 : https://www.acmicpc.net/problem/10844이 문제는 점화식을 생각하는게 정말 어렵다.첫 줄 : 0 1 2 3 4 5 6 7 8 9 -> 맨 뒤에 올 수 있는 숫자ex) 2자리수 일 때 맨 뒤에 0이 오는 경우 : 10 (1
문제 : https://www.acmicpc.net/problem/2193끝자리 수를 활용해 점화식을 세워보았다.n=1 -> 1n=2 -> 10n=3 -> 100, 101n=4 -> 1000, 1001, 10100으로 끝날 경우 뒤에 0과 1이 올 수 있으므로
문제 : https://www.acmicpc.net/problem/11053만약 dp\[i] < dp\[j]가 없다면? -> 이전 수열을 확인하지 못한다.없을 경우있을 경우
문제 : https://www.acmicpc.net/problem/1912처음부터 끝까지 계속 더해준 값을 dp에 저장하였다연속합 값이 음수가 나올 경우 0으로 초기화➕ 더 똑똑하게 푸는 방법이 있을거 같아서 구글링을 해보았다.결과는 위 이미지랑 똑같다 (a
문제 : https://www.acmicpc.net/problem/1699점화식이 엄청 어려웠던 문제..
문제 : https://www.acmicpc.net/problem/2225k=3 일 때n=2 -> (0,0,2) (0,2,0), (2,0,0) (0,1,1) (1,0,1) (1,1,0) 6개n=3 -> (0,0,3) (0,3,0) (3,0,0) (0,1,2)
문제 : https://www.acmicpc.net/problem/13093가지 경우로 나누어서 점화식을 구해야 한다i번째 행을 추가할 때 (n이 1씩 증가할 때)1\. 사자가 왼쪽 오른쪽 둘 다 없는 경우 \- i-1번째 행(바로 위의 행)은 왼쪽 오른쪽 둘
문제 : https://www.acmicpc.net/problem/17404
문제 : https://www.acmicpc.net/problem/2606graphi의 흐름 : 2 - 1 - 3 - 2 - 5 - 1 - 2 - 6 - 5 - 5cnt 변수를 사용 안 하고 마지막에 visited에서 True인 값 출력 (하나 뺀 이유는 1번
문제 : https://www.acmicpc.net/problem/1012sys.setrecursionlimit(10000) : 백준에서는 재귀의 최대 깊이가 1000으로 설정 되어있어서 그냥 제출할경우 RecursionError가 발생한다. 따라서 재귀 깊이
문제 : https://www.acmicpc.net/problem/2178maze = \[list(map(int, input())) for \_ in range(N)] 입력 문자 사이에 공백이 없으므로 split()으로 받으면 안된다.소스코드 상에서는 첫
문제 : https://www.acmicpc.net/problem/1260전형적인 DFS, BFS 문제<span style=color: BFS -> 큐, while 기억하자!
문제 : https://www.acmicpc.net/problem/4673set 복습하는 문제 느낌, 브루트포스 알고리즘self_num = sorted(num - generator) : 차집합 활용set은 (\[]) 기억하자.
문제 : https://www.acmicpc.net/problem/1747에라토스테네스 체 복습하는 느낌으로 나쁘지 않았지만 진짜 개같은 문제였다n의 범위는 입력값의 범위지 출력값의 범위가 아니기 때문에 n이 특정 수를 넘어간다면 백만 이내의 수에서 소수이면서
문제 : https://www.acmicpc.net/problem/17478알고리즘 분류 : Recursion재귀함수를 호출한 순간부터 밑에 내용은 return 이후에 실행된다.재귀함수 원리를 까먹었을 때 다시 풀면 좋은 문제
문제 : https://www.acmicpc.net/problem/1991파이썬에서 트리 -> 클래스와 딕셔너리 활용preorder(tree\['A']) : 키 값을 따옴표로 감싸기preorder(tree\[node.right]) : 재귀 할 때 node라고만
문제 : https://www.acmicpc.net/problem/11729알고리즘 분류 : Recursionn개의 원판이 있을 때, n-1개의 원판 즉, 맨 밑의 원판을 제외하고 나머지 원판들을 1번에서 2번으로 옮긴다.hanoi(n - 1, a, c, b)
문제 : https://www.acmicpc.net/problem/1182알고리즘 분류 : BackTracking원소끼리 떨어져 있는 경우도 부분수열이라서 더 어려웠다전체 흐름을 이해하기가 너무 어려워서 출력해봤다.백트래킹 풀면서 새삼 멍청하다고 느끼는중 진짜
문제 : https://www.acmicpc.net/problem/1966알고리즘 분류 : 구현del 함수는 ()를 사용하지 않는다