분류 전체보기 14

[Python] bisect를 사용하여 이진탐색을 해보자 (bisect_left, bisect_right)

오늘은 시간복잡도를 해결할 수 있는 Key인 이진탐색을 알아보려고 해요.사실 이진탐색은 이 문제를 풀다가 포스팅을 하게 됐는데요.2024 카카오 겨울 인턴십 문제 중 하나인 주사위 고르기 문제 입니다. 👉 주사위 고르기 문제 포스팅 바로가기 [Python] 주사위 고르기 (카카오 2024 겨울 인턴십 코테) 문제 풀이프로그래머스 카카오 기출문제인[주사위 고르기]를 파이썬으로 풀어보겠습니다! 이 문제는 다양한 경우의 수를 고려하여 최적의 경우를 고르는 문제로다양한 itertools 함수를 사용할 예정입니nasneyland.tistory.com 이진탐색을 이해하고 이 문제를 함께 풀어보면 좋을 것 같아요! 시간효율성에서 아주아주 큰 도움이 되는 "이진탐색" 이번 기회에 뿌셔봅시당 레고~그럼 본격적으로 이진..

[Python] 주사위 고르기 (카카오 2024 겨울 인턴십 코테) 문제 풀이

프로그래머스 카카오 기출문제인[주사위 고르기]를 파이썬으로 풀어보겠습니다! 이 문제는 다양한 경우의 수를 고려하여 최적의 경우를 고르는 문제로다양한 itertools 함수를 사용할 예정입니다.난이도는 Lv3로 답을 도출하는 건 쉽지만 시간 효율성을 고려해야 해서조금 까다로운 문제였습니다!   프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 설명A와 B가 n개의 주사위를 가지고 승부를 합니다.주사위의 6개 면에 각각 하나의 수가 쓰여 있으며주사위를 던졌을 때 각 면이 나올 확률은 동일합니다.각 주사위는 1 ~ n의 번호를 가지고 있으며주사위에 쓰인 수의 구..

[iOS CI/CD] fastlane 테스트플라이트 업로드 시 이중인증(2FA) 이슈 해결하기

iOS 프로젝트에 CICD를 구축하고 잘 사용하던 중갑자기 에러가 뜨면서 업로드에 실패했습니다..!Available session is not valid anymore. Continuing with normal login.Two-factor Authentication (6 digits code) is enabled for account 'mymail@gmail.com'More information about Two-factor Authentication: https://support.apple.com/en-us/HT204915If you're running this in a non-interactive session (e.g. server or CI)check out https://github.com/f..

[Swift 알고리즘] 순열(Permutations)과 조합(Combinations)

안녕하세요 여러분~!오늘은 코테에서 종종 나오게 되는 순열과 조합을 살펴볼게요.이 또한 파이썬에서는 내장함수가 있지만우리의 Swift는 직접 구현해야 합니다 🥲하지만 이자식 나름 쉽더라구요? 같이 한번 뿌셔봅시당! 순열(Permutation)이란?순열의 정의부터 살펴볼게요. 순열이란서로 다른 n개 중에서 r개를 택하여 일렬로 배열하는 경우 입니다. 예제를 통해 알아볼까요?array = [1,2,3] array에서 2개의 요소를 고른다고 해봅시다.[[1, 2], [1, 3], [2, 1], [2, 3], [3, 1], [3, 2]] 이렇게 6개의 경우가 나올거에요.이때 순열은 순서가 다르면 다른 경우로 보기때문에[1,2] 와 [2,1] 은 다른 경우로 인식하게 됩니다. 조합이란?조합은 순열과 비슷한 개..

[Swift 알고리즘] BFS (너비우선탐색) 구현하기

안녕하세요 여러분~!코테 알고리즘의 꽃인 BFSBFS 하나 잘 외워두면 든든~ 하게 코테 문제를 풀 수 있는데요같이 BFS 알고리즘 뿌셔봅시당 👊👊 BFS 알고리즘 이란?BFS는 Breadth First Search 의 약자로너비우선탐색이라고 불립니다.근접한 노드들부터 전부 탐색하겠다는 의미인데요.그림으로 BFS 동작 원리를 이해해볼까요? 아래와 같은 연결성을 가진 그래프(트리)가 있다고 합시다. 1번 노드부터 시작하여 연결된 모든 노드를 방문하고자 합니다. 우선 1번노드와 연결된 2,3번 노드를 예약하겠습니다.현재 방문한 노드: [1]현재 예약된 노드: [2,3] 예약된 노드들 중 먼저 예약된 2번노드를 방문합니다.2번 노드를 방문했더니 새로 연결된 4,5번 노드를 발견했네요.4,5번 노드를 예약리..

[Swift 자료구조] 스택(Stack) 큐(Queue) 구현하기

안녕하세요 여러분~!자료구조 하면 빠질수 없는 기본중에 기본 스택과 큐 를 한번쯤 들어보셨을텐데요?자료형은 둘 다 Array를 사용하지만 데이터 입출력 방식에서 차이가 있습니다. 스택(Stack) 이란?스택은 Array로 나타내는 후입선출 형태의 선형 자료구조입니다.후입선출 = LIFO(Last In First Out)나중에 넣은 데이터부터 출력한다는 뜻인데요. Swift로 구현해볼까요?다음과 같이 리스트가 있습니다.array = [] 1부터 3까지의 숫자를 리스트에 입력해볼게요.array.append(1)array.append(2)array.append(3)array = [1,2,3] 출력은 어떻게 할까요?스택은 나중에 넣은 데이터부터 출력하기 때문에 removeLast()를 이용해줄게요. array...

[Swift] Network Delay Time (다익스트라) 문제 풀이

LeetCode에 있는 다익스트라 기본문제Network Delay Time 문제를 Swift로 풀어보겠습니다!  👉 LeetCode 문제 풀러가기 문제 설명You are given a network of n nodes, labeled from 1 to n.You are also given times, a list of travel times as directed edges times[i] = (ui, vi, wi),where ui is the source node, vi is the target node,and wi is the time it takes for a signal to travel from source to target.We will send a signal from a given node..

[Python] Network Delay Time (다익스트라) 문제 풀이

LeetCode에 있는 다익스트라 기본문제Network Delay Time 문제를 Python으로 풀어보겠습니다!  👉 LeetCode 문제 풀러가기 문제 설명You are given a network of n nodes, labeled from 1 to n. You are also given times, a list of travel times as directed edges times[i] = (ui, vi, wi), where ui is the source node, vi is the target node, and wi is the time it takes for a signal to travel from source to target.We will send a signal from a given..

[Swift 알고리즘] 다익스트라 구현하기

안녕하세요 여러분~!이번에는 다익스트라를 배워보도록 하겠습니다.이름만 들으면 아주아주 어려울 것 같은 요놈사실 개념만 잘 알아놓으면 보너스 문제라는 사실 알고계셨나요?다익스트라 자식,, 사실은 외강내유에요😝 다익스트라란?다익스트라는 최단 경로 탐색 알고리즘입니다최단 경로? 최소값? = Heap?맞습니다 다익스트라는 힙을 이용하여 구현할 수 있습니다. 일단 그림으로 다익스트라 알고리즘의 동작방식을 이해해볼까요? 각 노드가 간선으로 연결되어있고 가중치를 가지고 있네요위에서 말씀드린대로 최단경로탐색을 할건데요그렇다면 가중치가 작은 경로부터 탐색을 해야겠죠 일단 시작노드인 1부터 탐색을 시작해볼까요?노드1에서 방문 가능한 노드는 2,3,4가 되겠네요현재 방문할 수 있는 노드의 후보군은 2,3,4 입니다.이중..

[Python 알고리즘] 다익스트라 구현하기

안녕하세요 여러분~!이번에는 다익스트라를 배워보도록 하겠습니다.이름만 들으면 아주아주 어려울 것 같은 요놈사실 개념만 잘 알아놓으면 보너스 문제라는 사실 알고계셨나요?다익스트라 자식,, 사실은 외강내유에요😝 다익스트라란?다익스트라는 최단 경로 탐색 알고리즘입니다최단 경로? 최소값? = Heap?맞습니다 다익스트라는 힙을 이용하여 구현할 수 있습니다. 일단 그림으로 다익스트라 알고리즘의 동작방식을 이해해볼까요? 각 노드가 간선으로 연결되어있고 가중치를 가지고 있네요위에서 말씀드린대로 최단경로탐색을 할건데요그렇다면 가중치가 작은 경로부터 탐색을 해야겠죠 일단 시작노드인 1부터 탐색을 시작해볼까요?노드1에서 방문 가능한 노드는 2,3,4가 되겠네요현재 방문할 수 있는 노드의 후보군은 2,3,4 입니다.이중..