👀 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👁 풀이 이 문제는 포켓몬 종류와 nums//2를 비교하여 두 수의 최솟값을 알아내면 되는 문제이다. 1️⃣ set을 이용 set을 이용하여 포켓몬의 종류를 뽑아낸다 def solution(nums): answer = 0 type = len(set(nums)) return min(len(set(nums)), len(nums)//2) 2️⃣ Counter를 이용 Counter를 이용하여 포켓몬의 종류를 뽑아낸다 from collections import Counter def solution(nums):..
코딩테스트 연습 - 조이스틱 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다 programmers.co.kr 더보기 문제 설명 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다음 알파벳 ▼ - 이전 알파벳 (A에서 아래쪽으로 이동하면 Z로) ◀ - 커서를 왼쪽으로 이동 (첫 번째 위치에서 왼쪽으로 이동하면 마지막 문자에 커서) ▶ - 커서를 오른쪽으로 이동 (마지막 위치에서 오른쪽으로 이동하면 첫..
🌏 Sorting 정렬 정렬이란, 데이터를 특정한 기준에 따라서 순서대로 나열하는 것을 의미한다. 정렬 알고리즘은 프로그램을 작성할 때 가장 많이 사용되는 알고리즘이며 코딩테스트에서도 자주 출제되는 알고리즘 중 하나이기 때문에 확실하게 정리하고 넘어가보자! 👽 Bubble Sort 거품 정렬 정렬의 과정에서 데이터의 이동이 거품이 수면으로 올라오는 듯한 모습을 보이기 때문에 버블 정렬이라 한다고 함! 서로 인접한 두 데이터의 크기를 비교하여 데이터의 위치를 바꾸는 과정을 반복하는 알고리즘 def bubbleSort(): for i in range(len(arr)): for j in rnage(len(arr)-i): if arr[j] > arr[j+1]: arr[j], arr[j+1] = arr[j+1],..
💗 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💗 코드 미리보기 def solution(m, n, board): answer = 0 board = [list(i) for i in board] while True: checked = [[0 for _ in range(n)] for _ in range(m)] for i in range(m - 1): for j in range(n - 1): if board[i][j] != 0 and board[i][j] == board[i + 1][j] == board[i][j + 1] == board[i + 1][j..
세 수의 합 3Sum 세 수의 합이 0이 되는 경우를 구하는 문제 💗브루트 포스로 계산하기 각 배열에서 나올 수 있는 모든 경우의 수를 계산하고 답을 도출하는 방법 리트코드에서 해당 방법으로 풀이하면 시간초과에러가 발생한다 😢 result = [] for i in range(len(nums)): for j in range(i+1, len(nums)): for k in range(j+1, len(nums)): if nums[i] + nums[j] + nums[k] == 0: if sorted([nums[i],nums[j],nums[k]]) not in result: result.append(sorted([nums[i],nums[j],nums[k]])) return result 💗투포인터로 계산하기 각 배열..
문자열 뒤집기 입력받은 문자열을 반대로 출력해보자👍 ✅ 리스트를 마지막부터 새로운 리스트 안에 넣기 i_list = ["h","e","l","l","o"] o_list = list() while i_list: o_list.append(i_list.pop()) print(o_list) ✅ 투 포인터 사용 i_list = ["h","e","l","l","o"] left, right = 0, len(i_list)-1 while left < right: i_list[left], i_list[right] = i_list[right], i_list[left] left += 1 right -= 1 print(i_list) ✅ reverse() 사용 i_list = ["h","e","l","l","o"] i_list...