파이썬

PS (Problem Solving)/Baekjoon

[백준] 12931. 두 배 더하기 - 파이썬

문제 https://www.acmicpc.net/problem/12931 12931번: 두 배 더하기 모든 값이 0으로 채워져 있는 길이가 N인 배열 A가 있다. 영선이는 다음과 같은 두 연산을 수행할 수 있다. 배열에 있는 값 하나를 1 증가시킨다. 배열에 있는 모든 값을 두 배 시킨다. 배열 B가 주 www.acmicpc.net 설계 - 반대로 접근하여, 주어진 배열을 모두 0으로 만드는 최소 횟수를 계산한다. N = int(input()) arr = list(map(int, input().split())) cnt = 0 while sum(arr) > 0: # arr이 모두 0이 될때까지 반복 check = 0 for i in range(N): # 전부 짝수인지 check if arr[i] % 2 =..

PS (Problem Solving)/Baekjoon

[백준] 16198. 에너지 모으기 - 파이썬

문제 https://www.acmicpc.net/problem/16198 16198번: 에너지 모으기 N개의 에너지 구슬이 일렬로 놓여져 있고, 에너지 구슬을 이용해서 에너지를 모으려고 한다. i번째 에너지 구슬의 무게는 Wi이고, 에너지를 모으는 방법은 다음과 같으며, 반복해서 사용할 수 있 www.acmicpc.net 설계 - 3개씩 묶어서 확인 하면서 1,3번째의 합이 가장 작은 경우의 수를 저장, 2번째 index를 제거한다. - 위 과정을 반복하면서 리스트에 2개가 남을때 까지 반복한다. - 전체 합계의 최대값을 구해야 함으로 dfs를 사용, while문으로 사용시 반례가 존재한다. ※ while문 사용시 반례 8 10 7 8 9 10 2 4 13 정답 : 612 def dfs(arr, sumV..

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..

PS (Problem Solving)/Programmers

[프로그래머스] 팩토리얼 - 파이썬

문제 https://school.programmers.co.kr/learn/courses/30/lessons/120848 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - n 이하이기 때문에 -1, while문 안에서 자동으로 +1이 되기 때문에 -1 이 추가로 필요 → 마지막에 -2를 해준다. def solution(n): i, total = 1, 1 while total

캐럿노트
'파이썬' 태그의 글 목록 (2 Page)