본문 바로가기

Algorithm/Implementation

(749)
(Python3) - LeetCode (Medium) 2257. Count Unguarded Cells in the Grid https://leetcode.com/problems/count-unguarded-cells-in-the-grid/description/2차원 배열을 순회하는 것을 구현해본 문제였습니다.📕 풀이방법📔 입력 및 초기화1. m행 n열 2차원 배열 grid를 선언 후 wall은 'W'로 guard는 'G'로 표기해놓습니다. 2. m행 n열 2차원 배열 checked를 선언 후 모두 0으로 초기화합니다. 3. 4방향 동서남북에 대한 dr, dc를 선언 후 방향에 맞게 선언해줍니다. 4. deque 변수 dp를 선언해 줍니다. 5. 정답 변수 answer를 선언 후 0으로 초기화합니다.📔 풀이과정1. guards를 순회하며 각 위치에 해당하는 grid를 'G'로 표시합니다. 또한 이 위치의 checked또한..
(Python3) - 프로그래머스(연습문제): 카드 뭉치 https://school.programmers.co.kr/learn/courses/30/lessons/159994 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr구현 문제였습니다.📕 풀이방법📔 입력 및 초기화cards1의 index idx1, cards2의 index idx2를 선언 후 0, 0으로 각각 초기화합니다.📔 풀이과정goal의 원소를 순회하며 다음을 진행합니다.1. cards1의 idx1번째 원소가 현재 goal의 문자열과 같다면 바로 뽑아주고 idx1을 1증가시킵니다.2. 이외에 cards2의 idx2번째 원소가 같다면 idx2를 증가시킵니다.3. 1,2번 경우 모두 아니라면 뽑을..
(Python3) - 프로그래머스(코딩 기초 트레이닝): 정수를 나선형으로 배치하기 https://school.programmers.co.kr/learn/courses/30/lessons/181832 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr구현 문제였습니다.📕 풀이방법📔 입력 및 초기화1. 우, 하, 좌, 상의 방향을 위해 dr, dc배열을 선언 후 적절히 초기화합니다. 2. 정답 변수 answer 선언 후 n*n의 2차원 배열을 선언합니다. 3. 값 val선언 후 1로 초기화합니다. 4. 시작행과 열 r, c선언 후 각각 0으로 초기화합니다. 5. 방향 direction을 선언 후 0으로 초기화합니다.📔 풀이과정n*n만큼의 for loop를 수행하며 다음을 진행합니다...
(Python3) - 프로그래머스(PCCE 기출문제): 2번 피타고라스의 정리 https://school.programmers.co.kr/learn/courses/30/lessons/250132 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr간단 디버깅 문제였습니다.📕 풀이방법📔 풀이과정${a^2 + b^2 = c^2}$이므로c**2 - a**2값으로 ${b^2}$를 구할 수 있습니다.📕 Code📔 Python3a = int(input())c = int(input())b_square = c**2 - a**2print(b_square)*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
(Python3) - 프로그래머스(PCCP 기출문제): 1번 / 분대 감기 https://school.programmers.co.kr/learn/courses/30/lessons/250137 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr구현 문제였습니다.📕 풀이방법📔 입력 및 초기화1. 최대 체력 health_limit을 선언 후 health 값으로 갱신해줍니다. 2. 붕대 감는(치료)시간 cure_time, 초당 회복량 cure_amount_per_sec, 치료시간만큼 치료 성공시 얻는 추가 회복량 bonus_cure를 선언 후 bandage에서 값을 가져와 저장합니다.📔 풀이과정공격 정보 attacks에 대해 for loop를 수행하며 다음을 진행합니다. 1. 현..
(Python3) - 프로그래머스(연습문제): 대충 만든 자판 https://school.programmers.co.kr/learn/courses/30/lessons/160586 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krhash map을 이용한 구현 문제였습니다.📕 풀이방법📔 입력 및 초기화1. 정답 변수 answer선언 후 빈 배열로 초기화합니다. 2. 문자, 누르는 최소 횟수를 각각 key, value로 저장할 hash_map변수 char_press_map을 선언 후 빈 객체로 초기화합니다.📔 풀이과정1. 'A'부터 'Z'까지 순회하며 원소별 최소 클릭 횟수 구해줍니다. 해당값은 keymap에서 현 알파뱃에 해당하는 index값의 최솟값을 저장하면..
(Python3) - 프로그래머스(연습문제): 공원 산책 https://school.programmers.co.kr/learn/courses/30/lessons/172928 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr구현 문제였습니다.📕 풀이방법📔 입력 및 초기화1. 정답 배열 answer 선언 후 빈 배열로 초기화합니다. 2. 높이 h, 너비 w선언 후 적절히 초기화합니다. 3. 시작좌표 start_h, start_w를 선언 후 적절히 초기화합니다. 4. hash map변수 dh, dw를 선언 후 방향에 따른 좌표값을 key, value로 저장합니다.📔 풀이과정routes에 대해 for loop를 수행하면서 다음을 진행합니다.1. 지역변수 rou..
(Python3) - 프로그래머스(연습문제): 달리기 경주 https://school.programmers.co.kr/learn/courses/30/lessons/178871 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr구현 문제였습니다.📕 풀이방법📔 입력 및 초기화1. 정답 변수 answer 선언후 players배열로 저장합니다. 2. key를 선수명, index를 value로 저장할 name_idx_dict선언 후 빈 객체로 초기화합니다.📔 풀이과정1. players에 대해 for loop를 수행하며 name_idx_dict값을 저장합니다. 2. callings에 대해 loop를 수행하며 다음을 진행합니다.  2-1. O(1)로 선수 이름에 해당하는..