Python

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)/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/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

PS (Problem Solving)/Programmers

[프로그래머스] 모스부호 (1) - 파이썬

문제 https://school.programmers.co.kr/learn/courses/30/lessons/120838 설계 - 주어진 딕셔너리 활용 def solution(letter): morse = { '.-':'a','-...':'b','-.-.':'c','-..':'d','.':'e','..-.':'f', '--.':'g','....':'h','..':'i','.---':'j','-.-':'k','.-..':'l', '--':'m','-.':'n','---':'o','.--.':'p','--.-':'q','.-.':'r', '...':'s','-':'t','..-':'u','...-':'v','.--':'w','-..-':'x', '-.--':'y','--..':'z' } answer, sta..

PS (Problem Solving)/Programmers

[프로그래머스] 최댓값 만들기 (2) - 파이썬

문제 https://school.programmers.co.kr/learn/courses/30/lessons/120862 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 정렬 후 (음수 * 음수) 또는 (양수 * 양수)로 계산하는 경우가 가장 크다 def solution(numbers): numbers.sort() answer = max(numbers[-1] * numbers[-2], numbers[0] * numbers[1]) return answer

캐럿노트
'Python' 태그의 글 목록 (2 Page)