scp -P [포트] [윈도우 파일 절대 경로] [우분투 ID]@[우분투 IP]:[우분투 디렉토리]
[프로그래머스] / [Level 3] / [Python] 불량 사용자
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/64064 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ismatch 함수를 만들어 두 문자가 대체 가능한지 판단하도록 하였고, 알고리즘은 DFS를 사용하여 해결하였다. visited 리스트를 만들어 현재 탐색하고 있는 user가 중복되지 않게 하였다. def ismatch(a, b): if len(a) != len(b): return False for _a, _b in zip(a, b): if _a == '*' or _b == '*': continu..
[프로그래머스] / [Level 3] / [Python] 스티커 모으기(2)
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/12971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr DP를 사용하는데, idx 0번부터 시작하는 것과 1번부터 시작하는 것으로 크게 2가지로 나누어 구현하였다. def solution(sticker): L = len(sticker) if L == 1: return sticker[0] DP1 = [0] * L DP1[0], DP1[1] = sticker[0], sticker[0] for i in range(2, (L - 1)): DP1[i] = ma..
[프로그래머스] / [Level 3] / [Python] 기지국 설치
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/12979 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr N의 크기가 2억 이하의 자연수이기 때문에 하나씩 탐색을 하게되면 시간초과를 출력한다. 따라서 제공되는 stations에 포함되지 않는 수의 개수를 계산해서 결과를 출력하도록 하였다. 이와 같은 경우 추가로 설치할 수 있는 '구역'은 1~2, 6~9 이다. 해당 범위의 개수인 2, 4를 (1+w*2)로 나눈 몫이 설치할 수 있는 기지국의 갯수가 된다 (나머지가 있는 경우 + 1). stations..
[프로그래머스] / [Level 3] / [Python] 숫자 게임
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/12987 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 제한 조건에 A와 B 리스트의 최대 길이가 100,000인 것을 확인하고 이중 for문을 사용하면 안된다고 판단하였다. (실제로 구현했을 때 시간초과를 확인할 수 있었다.) 또한, 조건에 A와 B의 리스트의 길이가 같다고 하였기 때문에 A와 B를 동시에 비교하기로 결정하였다. 먼저, A와 B의 리스트를 오름차순으로 정렬하여 비교하기 편하게 세팅하였다. 그 후, 마지막 원소부터 비교하여 A 원소보다..
[프로그래머스] / [Level 3] / [Python] 단어 변환
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr BFS를 사용하여 해결하였다. 시작 단어와 방문하지 않은 단어들을 하나씩 삽입하여 목표 단어에 도달 할 때 까지 탐색하도록 구성하였다. ischangable 함수는 두 단어가 변환 가능한지 판단하도록 하는 함수이다. from collections import deque def ischangable(a, b): count = 0 for _a, _b in zip(a, b): if _a == _b: c..
[프로그래머스] / [Level 3] / [Python] 네트워크 - DFS/BFS
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr BFS를 활용하여 해결하였다. from collections import deque def solution(n, computers): def bfs(i, computers, n): visited[i] = True q = deque() q.append(i) while q: pop = q.popleft() visited[pop] = True for j in range(n): if computers[p..
[프로그래머스] / [Level 3] / [Python] 정수 삼각형
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/43105 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr DP를 사용하여 해결하였다. def solution(triangle): for i, tri in enumerate(triangle[1:]): for j, t in enumerate(tri): a, b = j - 1, j # 한 칸 위의 왼쪽 오른쪽 if j == 0: max_ = triangle[i][b] elif j == i+1: max_ = triangle[i][a] else: max_ = m..