코딩테스트 숫자열과 문자열 문제소개 코드 정의된 변수 값 확인 range(len(nums)) 활용코드... 코딩문제풀이카카오프로그래머스코딩테스트문제풀이 마법사 상어와 비바라기 - 백준(21610, 시뮬레이션) 🎯 마법사 상어와 비바라기 🧐 알고리즘[접근방법] 구름 위치가 저장되어 있는 배열 선언 주변(←, ↖, ↑, ↗, →, ↘, ↓, ↙) 이동 하는 배열 선언, 홀수일때 대각선으로 이동 구름 이동 하는 함수 구현(구역 초과 시 처음으로 이동) 물 증가하는 함수 구현 물 복사하는 함수 구현 구름 제거 후 구름 생성하는 함수 구현 전체 구역 물 개수 카운트 함수 구현 👨💻 소스 🏅 결과 🗨️ 후... 백준코테시뮬레이션코딩테스트simulationsimulation [BOJ] 백준 4673 - 셀프 넘버 👩🏻💻 문제 👩🏻💻 정답 코드 numbers 집합에 1부터 10000까지를 넣고, for문을 돌리면서 각 자릿수와 숫자 자체를 generated 집합에 넣어 준다. 집합을 사용함으로써 중복 없이 처리할 수 있고, 마지막에 numbers-generated으로 차집합을 구해 답을 낼 수 있다. 대신 하나씩 증가하는 순서랬으므로 sorted으로 정렬 필요 👩🏻💻 Remember sorted(... 코딩테스트python알고리즘bojboj [Programmers] level 1 - 신고 결과 받기 (2022 KAKAO BLIND RECRUITMENT) 👩🏻💻 문제 문제가 이해는 갔는데 어떤 식으로 짜야 효율적인지 생각하는 게 어려웠다... 아직도 파이썬으로 문제 푸는 것에 익숙하지 않은가 👩🏻💻 정답 코드 내가 처음 짠 코드는 위와 같았다. 하지만 테스트 22, 23에서 계속 실패 ㅠㅠ 내 생각에는 신고가 한 개가 들어왔을 때를 처리를 안 해서 그런 것 같다. 또 다른 문제가 있었겠지... 반복문도 너무 많고 해서 찾아보다가 집합을 활... python알고리즘프로그래머스코딩테스트python [BOJ] 5568 카드 놓기 아이디어 Level이 0일 때, 즉 아직 카드를 고르지 않았을 때 StringBuilder를 생성하고 sb에 고른 카드를 담도록 하였다. 이후 해당 노드 탐색을 종료하면 sb에 담은 카드를 삭제해 주었다.... DFSbaekjoon코딩테스트DFS [백준] 7569 : 토마토 1인 노드들을 어떻게 한번에 가져가서 동서남북상하를 봐줘야 하는 건지 고민했음 -> 처음에 입력받았을 때 1인 것의 좌표를 넣는 리스트에 1 값을 가진 것들의 좌표를 모두 넣어줌! 그리고 bfs가 한 번 돌고 난 이후엔 변경된 값들을 담은 리스트를 매개변수로 해서 bfs를 계속 돌려줌! 결과 : 시간 초과(Python), 메모리 초과(PyPy) 개선해야 하는 부분 : 어떻게 1을 한번에 넣어... 다시풀문제그래프BFS백준코딩테스트BFS [백준] 17142번 💻 C++ 기반 연구소 3... 코테백준코딩테스트시뮬레이션백준 Lv.1 평균 구하기 코딩테스트코딩테스트 [백준] 1759번 암호만들기 코딩테스트코딩테스트 [백준] 14889 스타트와 링크 0~n까지 조합을 생성하여 리스트에 담으면 첫 조합의 여집합은 마지막 조합이다. 즉 team_score[i] 는 team_score[-i-1]과 완전히 반대된다.이를 이용하여 풀면 쉽다.... 코딩테스트코딩테스트 오늘의 삽질로그 색다르게 이 한 문제에서 마주친 삽질을 기록하면 어떨까 싶어서 적어봅니다 일명 TIL을 가장한 삽질로그! (무려 두세시간 가량을 잡아먹은..) 파이썬을 활용한 문제 풀이입니다 대표적인 스택 유형 문제다. 다만, 주어진 괄호가 올바른 괄호냐 아니냐까지는 누구나 쉽게 생각하지만, 중간중간 값을 어떤 식으로 저장하냐가 관건일듯! 생각해야 할 반례도 많고 까다로운 문제다. 나는 하나의 스택에 괄호와... 코딩테스트TILTIL 그리디 : 숫자 카드 게임 여러 카드 덱에서 가장 낮은 숫자를 뽑고, 낮은 숫자 중 가장 높은 카드 한장을 뽑은 사람이 승리하는 게임이다. 카드들은 nxm (행 x 열) 형태로 놓여있다 카드를 뽑고자하는 행을 선택 선택한 행 중 가장 낮은 카드 뽑아야함 낮은 카드 중 최종적으로 가장 높은 카드를 뽑은 사람이 승리 🥕입력예시 : 첫줄에는 행과열, 그 뒤에는 카드들 주어짐 🥕출력예시 각 행마다 가장 작은 수를 찾은 뒤에 ... 그리디알고리즘코딩테스트그리디 [BOJ] 백준 14503 - 로봇 청소기 👩🏻💻 문제 👩🏻💻 정답 코드 처음에는 d 바꾸는 문장 아래 if문에서 0일 경우 (왼쪽이 청소되지 않은 경우)에서 result을 하나 늘렸는데 출력 예시는 잘 나오는데 자꾸 틀렸다고 해서 머리 싸매고 문제를 다시 잘 읽고 프로세스를 생각해 보니까 result를 일단 늘려야 하는 거구나 싶어서 순서를 바꿨다. (문제에 제일 첫 단계가 1. 현재 위치를 청소한다. 라고 되어 있잖아요...)... 코딩테스트python알고리즘bojboj [프로그래머스] 레벨1 220419 2개의 자연수(또는 정식) a, b에 대해서 a를 b로 나눈 나머지를 r이라 하면(단, a>b), a와 b의 최대공약수는 b와 r의 최대공약수와 같다. 이 성질에 따라, b를 r로 나눈 나머지 r'를 구하고, 다시 r을 r'로 나눈 나머지를 구하는 과정을 반복하여 나머지가 0이 되었을 때 나누는 수가 a와 b의 최대공약수이다. 최소공배수 성질 a와 b의 최소공배수는 a와 b의 곱을 a와 b의... 프로그래머스JavaScript코딩테스트JavaScript [BOJ] 백준 15686 - 치킨 배달 👩🏻💻 문제 👩🏻💻 정답 코드 처음에는 치킨 거리가 제일 많은 치킨집을 남기는 걸로 해야 하나 했는데 그렇게 했는데도 틀린 경우가 있을 것 같아서 찾아보다가 itertools의 combinations를 써서 중복 없는 조합을 구해 각 경우 중 min 값을 내면 되는 걸 깨달았다. 라이브러리 활용 잘 할 것... 파이썬 정리 한 번 해야겠다 그래서 프로세스는 집, 치킨집 위치를 일단 chi... 코딩테스트python알고리즘bojboj [백준 4792] 레드 블루 스패닝 트리 간선 비용이 모두 동일할 때 특정 종류의 간선을 사용해서 MST를 만들 수 있는지 확인하는 문제다. 우선순위 큐를 두 개 만들어 각 종류별로 우선순위를 다르게 한 red_pq, blue_pq를 따로 만들어 파란색 간선이 사용되는 최대 개수, 최소 개수를 각각 구했다. 원하는 k가 이 사이에 존재한다면 곧 k개의 간선만 사용한 MST를 만들 수 있다.... 파이썬알고리즘플래티넘3백준코딩테스트백준 [백준] 17779번 💻 C++ 기반 게리맨더링 2 ✔️ 사실상 colorOne(), colorTwo() … 이렇게 함수를 안 나누고 color() 함수 하나만 만든 다음, 범위 체크 함수만 따로 빼주면 코드가 더 간단해질듯... 코테백준코딩테스트시뮬레이션백준 [백준 2126] 지진 이분 탐색을 통해 MST에서 사용할 이득 수식의 x (mid)를 결정한다. 정렬/우선순위 큐를 통해 이득을 최대화할 수 있다. 이득을 표현하는 수식을 찾고, 이를 MST를 찾을 때 정렬하는 키로 삼아야 하는, 두 가지 개념을 혼합한 문제.... 파이썬플래티넘4알고리즘백준코딩테스트백준 [백준 13549 파이썬] 숨바꼭질 3 (골드 5, 다익스트라 or BFS) 알고리즘 유형 : 다익스트라 or BFS 다익스트라 풀이 BFS 풀이 SOLVE 1) 풀이 요약 (다익스트라 풀이) 이 문제는 가중치가 0 또는 1인 그래프로 생각할 수 있다. 가중치가 모두 0 또는 양수이고, 특정 노드에서 특정 노드까지의 최단 경로 가중치를 구하는 것이므로 다익스트라 알고리즘을 적용할 수 있다. 기존의 다익스트라 형태에서 조금 다른 점은, 그래프 간선 정보가 따로 주어지는... 파이썬ps알고리즘다익스트라BFS최단 경로백준코딩테스트BFS [7432]디스크 트리 이 문제는 저장된 단어에서 겹치는 단어를 찾는게 아니기 때문에 굳이 character로 map을 구성하지 않고 풀 수 있다. 그래도 character로 설정하여 풀면 시간이 더욱 단축 될 것이다. (String으로 할 경우 asdf, asdfg 가 있을때 겹치는 부분인 asdf를 두번 돌기 때문임. character로 한다면 asdf까지 탐색후 boolean 체크하고 boolean의 상태 여... 코딩테스트코딩테스트 [백준] 2617 : 구슬 찾기 다시풀문제그래프DFS백준코딩테스트DFS [프로그래머스] 레벨1 220420 나의 풀이 제곱근을 반환하는 함수와 정수인지 판별하는 방법에 대해 알 수 있었다. 나의 풀이 다른 사람의 풀이... 프로그래머스JavaScript코딩테스트JavaScript [JS]엘리스_220412: 비교 연산 검사기 문제 출처 : 엘리스 SW 엔지니어 트랙 2기 - JavaScript 문제집 readline 모듈 입력이 숫자, 비교 연산자, 숫자 순서로 공백을 기준으로 주어집니다. 해당 비교 연산이 참이면 true, 거짓이면 false를 출력해보세요. 입력 예시 출력 예시 true 입력 예시 출력 예시 false 입력값을 받아 각각 변수에 담아준다. switch 조건문을 통해 비교 연산과 case의 일치... 알고리즘엘리스코딩테스트알고리즘 [BOJ] 11659 구간 합 구하기 4 아이디어 1~n번째까지의 합을 total[n]에 담았다. 이러한 방식으로 총합을 구하는 것을 Prefix Sum 알고리즘이라고 한다.... baekjoonPrefix sum코딩테스트Prefix sum [오답노트/파이썬] 코드업 - 캔디팡 BFS 알고리즘을 이용하여 현재 칸에서 상하좌우로 같은 색의 칸이 있는지 확인해 보려고 했으나, 현재 칸과 같은 칸들의 묶음을 어떻게 카운팅 해야 할지 몰랐다. BFS 알고리즘을 이용하여 현재 칸을 기준으로 상하좌우를 확인하고 동일한 색이 있으면 다시 그 칸을 기준으로 상하좌우를 확인한다. 이렇게 카운팅 한 칸이 3개 이상이면 터지는 영역으로 간주한다. 위의 코드를 찬찬히 살펴보자. 먼저, ... python오답노트코딩테스트파이썬코드업python 백준 10830 행렬제곱 행렬제곱문제 분할정복의 기초를 다지기에 진짜좋은문제인거같다..ㅎㅎ;; 다른 골드5 문제들은 분할정복 도되지만 다른 풀이가더 매끄러운? 문제들이많아서 해당문제를 풀었다. 골드3 골드2까지 풀고 얼른 넘어가도록 하자 메인로직 2로 나눳을때 나머지가 1인지 0인지 체크 ex. 1번의 로직을 1이 될떄까지 재귀를 타줌 => 1이 될떄는 원래 행렬반환 그럼 사실상 2 또는 3이 될떄가지 재귀가 되는데... 백준코딩테스트백준 백준 1992 쿼드트리 실버2나 실버1이나 실버3이나 다 똑같은 수준이라서 실버1로 껑충.. ㅎㅎ 이문제의 특성은 압축이 안되면 "(" 로 시작해서 ")"로 닫아주는게 핵심 메인 로직 압축 검사하기 1.1 검사 통과하면 0이나 1로 압축된값 더해주고 return 1.2 통과하지 못하면 2번으로 4분할로 나눠서 좌표 나눠주고 "(" 추가후 재귀 (1번로직을 타게끔) 재귀가 끝나면 ")" 추가 번아웃이 온..일주일 ㅎ... 백준코딩테스트백준 [BOJ] 9012 괄호 아이디어 Queue 사용할까 했는데 Queue 없이 구현할 수 있는 것을 캐치하였다. 해당 문제는 쉽게 풀었는데 원래 오늘 시뮬레이션과 구현 문제를 풀려고 했었는데 머리가 잘 안돌아가고 시간도 없어서 패쓰했다. 너무 알고리즘 문제만 풀었나 단순구현 문제가 더 어렵게 느껴진다😥 연습 좀 해야겠당... Stringbaekjoon코딩테스트String [오답노트/파이썬] 코드업 - 기억력 테스트 3 문제 풀지 못한 이유 시간 초과가 문제였다. 첫 번째 시도는 입력값의 범위를 신경 쓰지 않고 순차 탐색으로 풀이해서 시간 초과되었다. 두 번째 시도는 문제에서 입력값을 오름차순 정렬하여 준 이유가 있을 거라 생각하여 이진 탐색으로 풀었지만 그래도 시간 초과되었다.(문제의 도움말은 보지 않았다.) 이진 탐색으로 풀어도 시간 초과되었던 이유는 이진 탐색의 결과로 True/False를 반환했고, ... python오답노트코딩테스트파이썬코드업python 이전 기사 보기
숫자열과 문자열 문제소개 코드 정의된 변수 값 확인 range(len(nums)) 활용코드... 코딩문제풀이카카오프로그래머스코딩테스트문제풀이 마법사 상어와 비바라기 - 백준(21610, 시뮬레이션) 🎯 마법사 상어와 비바라기 🧐 알고리즘[접근방법] 구름 위치가 저장되어 있는 배열 선언 주변(←, ↖, ↑, ↗, →, ↘, ↓, ↙) 이동 하는 배열 선언, 홀수일때 대각선으로 이동 구름 이동 하는 함수 구현(구역 초과 시 처음으로 이동) 물 증가하는 함수 구현 물 복사하는 함수 구현 구름 제거 후 구름 생성하는 함수 구현 전체 구역 물 개수 카운트 함수 구현 👨💻 소스 🏅 결과 🗨️ 후... 백준코테시뮬레이션코딩테스트simulationsimulation [BOJ] 백준 4673 - 셀프 넘버 👩🏻💻 문제 👩🏻💻 정답 코드 numbers 집합에 1부터 10000까지를 넣고, for문을 돌리면서 각 자릿수와 숫자 자체를 generated 집합에 넣어 준다. 집합을 사용함으로써 중복 없이 처리할 수 있고, 마지막에 numbers-generated으로 차집합을 구해 답을 낼 수 있다. 대신 하나씩 증가하는 순서랬으므로 sorted으로 정렬 필요 👩🏻💻 Remember sorted(... 코딩테스트python알고리즘bojboj [Programmers] level 1 - 신고 결과 받기 (2022 KAKAO BLIND RECRUITMENT) 👩🏻💻 문제 문제가 이해는 갔는데 어떤 식으로 짜야 효율적인지 생각하는 게 어려웠다... 아직도 파이썬으로 문제 푸는 것에 익숙하지 않은가 👩🏻💻 정답 코드 내가 처음 짠 코드는 위와 같았다. 하지만 테스트 22, 23에서 계속 실패 ㅠㅠ 내 생각에는 신고가 한 개가 들어왔을 때를 처리를 안 해서 그런 것 같다. 또 다른 문제가 있었겠지... 반복문도 너무 많고 해서 찾아보다가 집합을 활... python알고리즘프로그래머스코딩테스트python [BOJ] 5568 카드 놓기 아이디어 Level이 0일 때, 즉 아직 카드를 고르지 않았을 때 StringBuilder를 생성하고 sb에 고른 카드를 담도록 하였다. 이후 해당 노드 탐색을 종료하면 sb에 담은 카드를 삭제해 주었다.... DFSbaekjoon코딩테스트DFS [백준] 7569 : 토마토 1인 노드들을 어떻게 한번에 가져가서 동서남북상하를 봐줘야 하는 건지 고민했음 -> 처음에 입력받았을 때 1인 것의 좌표를 넣는 리스트에 1 값을 가진 것들의 좌표를 모두 넣어줌! 그리고 bfs가 한 번 돌고 난 이후엔 변경된 값들을 담은 리스트를 매개변수로 해서 bfs를 계속 돌려줌! 결과 : 시간 초과(Python), 메모리 초과(PyPy) 개선해야 하는 부분 : 어떻게 1을 한번에 넣어... 다시풀문제그래프BFS백준코딩테스트BFS [백준] 17142번 💻 C++ 기반 연구소 3... 코테백준코딩테스트시뮬레이션백준 Lv.1 평균 구하기 코딩테스트코딩테스트 [백준] 1759번 암호만들기 코딩테스트코딩테스트 [백준] 14889 스타트와 링크 0~n까지 조합을 생성하여 리스트에 담으면 첫 조합의 여집합은 마지막 조합이다. 즉 team_score[i] 는 team_score[-i-1]과 완전히 반대된다.이를 이용하여 풀면 쉽다.... 코딩테스트코딩테스트 오늘의 삽질로그 색다르게 이 한 문제에서 마주친 삽질을 기록하면 어떨까 싶어서 적어봅니다 일명 TIL을 가장한 삽질로그! (무려 두세시간 가량을 잡아먹은..) 파이썬을 활용한 문제 풀이입니다 대표적인 스택 유형 문제다. 다만, 주어진 괄호가 올바른 괄호냐 아니냐까지는 누구나 쉽게 생각하지만, 중간중간 값을 어떤 식으로 저장하냐가 관건일듯! 생각해야 할 반례도 많고 까다로운 문제다. 나는 하나의 스택에 괄호와... 코딩테스트TILTIL 그리디 : 숫자 카드 게임 여러 카드 덱에서 가장 낮은 숫자를 뽑고, 낮은 숫자 중 가장 높은 카드 한장을 뽑은 사람이 승리하는 게임이다. 카드들은 nxm (행 x 열) 형태로 놓여있다 카드를 뽑고자하는 행을 선택 선택한 행 중 가장 낮은 카드 뽑아야함 낮은 카드 중 최종적으로 가장 높은 카드를 뽑은 사람이 승리 🥕입력예시 : 첫줄에는 행과열, 그 뒤에는 카드들 주어짐 🥕출력예시 각 행마다 가장 작은 수를 찾은 뒤에 ... 그리디알고리즘코딩테스트그리디 [BOJ] 백준 14503 - 로봇 청소기 👩🏻💻 문제 👩🏻💻 정답 코드 처음에는 d 바꾸는 문장 아래 if문에서 0일 경우 (왼쪽이 청소되지 않은 경우)에서 result을 하나 늘렸는데 출력 예시는 잘 나오는데 자꾸 틀렸다고 해서 머리 싸매고 문제를 다시 잘 읽고 프로세스를 생각해 보니까 result를 일단 늘려야 하는 거구나 싶어서 순서를 바꿨다. (문제에 제일 첫 단계가 1. 현재 위치를 청소한다. 라고 되어 있잖아요...)... 코딩테스트python알고리즘bojboj [프로그래머스] 레벨1 220419 2개의 자연수(또는 정식) a, b에 대해서 a를 b로 나눈 나머지를 r이라 하면(단, a>b), a와 b의 최대공약수는 b와 r의 최대공약수와 같다. 이 성질에 따라, b를 r로 나눈 나머지 r'를 구하고, 다시 r을 r'로 나눈 나머지를 구하는 과정을 반복하여 나머지가 0이 되었을 때 나누는 수가 a와 b의 최대공약수이다. 최소공배수 성질 a와 b의 최소공배수는 a와 b의 곱을 a와 b의... 프로그래머스JavaScript코딩테스트JavaScript [BOJ] 백준 15686 - 치킨 배달 👩🏻💻 문제 👩🏻💻 정답 코드 처음에는 치킨 거리가 제일 많은 치킨집을 남기는 걸로 해야 하나 했는데 그렇게 했는데도 틀린 경우가 있을 것 같아서 찾아보다가 itertools의 combinations를 써서 중복 없는 조합을 구해 각 경우 중 min 값을 내면 되는 걸 깨달았다. 라이브러리 활용 잘 할 것... 파이썬 정리 한 번 해야겠다 그래서 프로세스는 집, 치킨집 위치를 일단 chi... 코딩테스트python알고리즘bojboj [백준 4792] 레드 블루 스패닝 트리 간선 비용이 모두 동일할 때 특정 종류의 간선을 사용해서 MST를 만들 수 있는지 확인하는 문제다. 우선순위 큐를 두 개 만들어 각 종류별로 우선순위를 다르게 한 red_pq, blue_pq를 따로 만들어 파란색 간선이 사용되는 최대 개수, 최소 개수를 각각 구했다. 원하는 k가 이 사이에 존재한다면 곧 k개의 간선만 사용한 MST를 만들 수 있다.... 파이썬알고리즘플래티넘3백준코딩테스트백준 [백준] 17779번 💻 C++ 기반 게리맨더링 2 ✔️ 사실상 colorOne(), colorTwo() … 이렇게 함수를 안 나누고 color() 함수 하나만 만든 다음, 범위 체크 함수만 따로 빼주면 코드가 더 간단해질듯... 코테백준코딩테스트시뮬레이션백준 [백준 2126] 지진 이분 탐색을 통해 MST에서 사용할 이득 수식의 x (mid)를 결정한다. 정렬/우선순위 큐를 통해 이득을 최대화할 수 있다. 이득을 표현하는 수식을 찾고, 이를 MST를 찾을 때 정렬하는 키로 삼아야 하는, 두 가지 개념을 혼합한 문제.... 파이썬플래티넘4알고리즘백준코딩테스트백준 [백준 13549 파이썬] 숨바꼭질 3 (골드 5, 다익스트라 or BFS) 알고리즘 유형 : 다익스트라 or BFS 다익스트라 풀이 BFS 풀이 SOLVE 1) 풀이 요약 (다익스트라 풀이) 이 문제는 가중치가 0 또는 1인 그래프로 생각할 수 있다. 가중치가 모두 0 또는 양수이고, 특정 노드에서 특정 노드까지의 최단 경로 가중치를 구하는 것이므로 다익스트라 알고리즘을 적용할 수 있다. 기존의 다익스트라 형태에서 조금 다른 점은, 그래프 간선 정보가 따로 주어지는... 파이썬ps알고리즘다익스트라BFS최단 경로백준코딩테스트BFS [7432]디스크 트리 이 문제는 저장된 단어에서 겹치는 단어를 찾는게 아니기 때문에 굳이 character로 map을 구성하지 않고 풀 수 있다. 그래도 character로 설정하여 풀면 시간이 더욱 단축 될 것이다. (String으로 할 경우 asdf, asdfg 가 있을때 겹치는 부분인 asdf를 두번 돌기 때문임. character로 한다면 asdf까지 탐색후 boolean 체크하고 boolean의 상태 여... 코딩테스트코딩테스트 [백준] 2617 : 구슬 찾기 다시풀문제그래프DFS백준코딩테스트DFS [프로그래머스] 레벨1 220420 나의 풀이 제곱근을 반환하는 함수와 정수인지 판별하는 방법에 대해 알 수 있었다. 나의 풀이 다른 사람의 풀이... 프로그래머스JavaScript코딩테스트JavaScript [JS]엘리스_220412: 비교 연산 검사기 문제 출처 : 엘리스 SW 엔지니어 트랙 2기 - JavaScript 문제집 readline 모듈 입력이 숫자, 비교 연산자, 숫자 순서로 공백을 기준으로 주어집니다. 해당 비교 연산이 참이면 true, 거짓이면 false를 출력해보세요. 입력 예시 출력 예시 true 입력 예시 출력 예시 false 입력값을 받아 각각 변수에 담아준다. switch 조건문을 통해 비교 연산과 case의 일치... 알고리즘엘리스코딩테스트알고리즘 [BOJ] 11659 구간 합 구하기 4 아이디어 1~n번째까지의 합을 total[n]에 담았다. 이러한 방식으로 총합을 구하는 것을 Prefix Sum 알고리즘이라고 한다.... baekjoonPrefix sum코딩테스트Prefix sum [오답노트/파이썬] 코드업 - 캔디팡 BFS 알고리즘을 이용하여 현재 칸에서 상하좌우로 같은 색의 칸이 있는지 확인해 보려고 했으나, 현재 칸과 같은 칸들의 묶음을 어떻게 카운팅 해야 할지 몰랐다. BFS 알고리즘을 이용하여 현재 칸을 기준으로 상하좌우를 확인하고 동일한 색이 있으면 다시 그 칸을 기준으로 상하좌우를 확인한다. 이렇게 카운팅 한 칸이 3개 이상이면 터지는 영역으로 간주한다. 위의 코드를 찬찬히 살펴보자. 먼저, ... python오답노트코딩테스트파이썬코드업python 백준 10830 행렬제곱 행렬제곱문제 분할정복의 기초를 다지기에 진짜좋은문제인거같다..ㅎㅎ;; 다른 골드5 문제들은 분할정복 도되지만 다른 풀이가더 매끄러운? 문제들이많아서 해당문제를 풀었다. 골드3 골드2까지 풀고 얼른 넘어가도록 하자 메인로직 2로 나눳을때 나머지가 1인지 0인지 체크 ex. 1번의 로직을 1이 될떄까지 재귀를 타줌 => 1이 될떄는 원래 행렬반환 그럼 사실상 2 또는 3이 될떄가지 재귀가 되는데... 백준코딩테스트백준 백준 1992 쿼드트리 실버2나 실버1이나 실버3이나 다 똑같은 수준이라서 실버1로 껑충.. ㅎㅎ 이문제의 특성은 압축이 안되면 "(" 로 시작해서 ")"로 닫아주는게 핵심 메인 로직 압축 검사하기 1.1 검사 통과하면 0이나 1로 압축된값 더해주고 return 1.2 통과하지 못하면 2번으로 4분할로 나눠서 좌표 나눠주고 "(" 추가후 재귀 (1번로직을 타게끔) 재귀가 끝나면 ")" 추가 번아웃이 온..일주일 ㅎ... 백준코딩테스트백준 [BOJ] 9012 괄호 아이디어 Queue 사용할까 했는데 Queue 없이 구현할 수 있는 것을 캐치하였다. 해당 문제는 쉽게 풀었는데 원래 오늘 시뮬레이션과 구현 문제를 풀려고 했었는데 머리가 잘 안돌아가고 시간도 없어서 패쓰했다. 너무 알고리즘 문제만 풀었나 단순구현 문제가 더 어렵게 느껴진다😥 연습 좀 해야겠당... Stringbaekjoon코딩테스트String [오답노트/파이썬] 코드업 - 기억력 테스트 3 문제 풀지 못한 이유 시간 초과가 문제였다. 첫 번째 시도는 입력값의 범위를 신경 쓰지 않고 순차 탐색으로 풀이해서 시간 초과되었다. 두 번째 시도는 문제에서 입력값을 오름차순 정렬하여 준 이유가 있을 거라 생각하여 이진 탐색으로 풀었지만 그래도 시간 초과되었다.(문제의 도움말은 보지 않았다.) 이진 탐색으로 풀어도 시간 초과되었던 이유는 이진 탐색의 결과로 True/False를 반환했고, ... python오답노트코딩테스트파이썬코드업python 이전 기사 보기