programmers

PS (Problem Solving)/Programmers

[프로그래머스] 타겟 넘버 - 파이썬

문제 https://school.programmers.co.kr/learn/courses/30/lessons/43165# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 파이썬 def dfs(level, sumV, numbers, target): global answer if level == len(numbers): if sumV == target: answer += 1 return for i in range(2): if i == 0: dfs(level+1, sumV + numbers[level], numbers, target) elif i == 1:..

PS (Problem Solving)/Programmers

[프로그래머스] 오픈채팅방 - 파이썬

문제 https://school.programmers.co.kr/learn/courses/30/lessons/42888 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 파이썬 def solution(record): # split으로 빈칸을 구분해 list로 저장한다. arr, N = [], len(record) for i in range(N): arr.append(record[i].split()) # dictionary를 사용해 변경된 id를 저장한다. name = {} for i in range(N): if len(arr[i]) == 2: conti..

PS (Problem Solving)/Programmers

[프로그래머스] 연속 부분 수열 합의 개수 - 파이썬

문제 https://school.programmers.co.kr/learn/courses/30/lessons/131701 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 파이썬 - 주어진 배열 × 2를 하여 배열이 순회하는 형태로 만들어준다. def solution(elements): answer = [] N = len(elements) # elements를 2배로 늘리기 때문에 원래 길이를 저장한다. elements = elements * 2 # 수열을 2배로 늘려 index를 순환시킨다. for i in range(N): for j in range..

PS (Problem Solving)/Programmers

[프로그래머스] 숨어있는 숫자의 덧셈 (2) - 파이썬

문제 https://school.programmers.co.kr/learn/courses/30/lessons/120864 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 숫자의 경우 연속된 숫자(32의 경우 3, 2를 각각 더하는 것이 아니라 묶어서 32)를 더해야한다. - start와 end를 사용하여 answer에 더할 범위 지정 def solution(my_string): answer, start, end = 0, 0, 1 for i in range(len(my_string) - 1): if my_string[i].isdigit() and m..

PS (Problem Solving)/Programmers

[프로그래머스] 안전지대 - 파이썬

문제 https://school.programmers.co.kr/learn/courses/30/lessons/120866 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 폭탄이 연쇄적으로 터지는 것을 막기 위해 visit 배열에만 check 한다. def solution(board): n = len(board) visit = [[0] * n for _ in range(n)] for x in range(n): for y in range(n): if board[x][y] == 1: visit[x][y] = 1 for i in range(8): dx =..

PS (Problem Solving)/Programmers

[프로그래머스] 삼각형의 완성 조건 (2) - 파이썬

문제 https://school.programmers.co.kr/learn/courses/30/lessons/120868 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 범위 : sides에서 (가장 큰수 - 작은수) ~ (큰수 + 작은수) def solution(sides): sides.sort() return (sides[1] + sides[0]) - (sides[1] - sides[0]) - 1

PS (Problem Solving)/Programmers

[프로그래머스] 외계어 사전 - 파이썬

문제 https://school.programmers.co.kr/learn/courses/30/lessons/120869 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 def solution(spell, dic): for i in range(len(dic)): if len(dic[i]) == len(spell): # 한번씩만 사용하므로 길이 확인 cnt = 0 for j in range(len(spell)): # 각 단어를 사용했는지 여부 확인 if spell[j] in dic[i]: cnt += 1 if cnt == len(spell): # 각 단..

PS (Problem Solving)/Programmers

[프로그래머스] 저주의 숫자 3 - 파이썬

문제 https://school.programmers.co.kr/learn/courses/30/lessons/120871 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 3의 배수 또는 '3'이 포함될 경우 answer + 1을 해준다. - while문 안에서 각 10진법 단계마다 위 2개의 조건이 만족할때까지 answer을 조정해준다. ※ 참고 : 30, 31, 32 .... 39 까지 모두 건너뛴다. def solution(n): answer = 0 for i in range(n): answer += 1 while 1: # while문 안에서 ..

PS (Problem Solving)/Programmers

[프로그래머스] 평행 - 파이썬

문제 https://school.programmers.co.kr/learn/courses/30/lessons/120875 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 총 3가지 방법으로 선분을 이을 수 있다. (1 - 2, 3 - 4 / 1 - 3, 2 - 4 / 1 - 4, 2 - 3) - 평행 : 두 선분의 기울기가 같아야 한다. - 평행한 선분의 개수를 구하는 것이 아니라 평행인 선분이 1개 이상이면 1을 return 한다. def incline(a, b): return (a[1] - b[1]) / (a[0] - b[0])# 괄호 필수 주..

PS (Problem Solving)/Programmers

[프로그래머스] 겹치는 선분의 길이 - 파이썬

문제 https://school.programmers.co.kr/learn/courses/30/lessons/120876 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 선분을 bucket에 담아 겹치는 선분, 즉 bucket 2이상의 개수를 구한다. def solution(lines): answer = 0 lines.sort() bucket = [0] * 201 # -100 ~ 100 => 100 ~ 201 # 선분 bucket에 담아 count for i in range(3): if lines[i][1] > lines[i][0]: for j i..

캐럿노트
'programmers' 태그의 글 목록