프로그래머스 | 안전지대 [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import numpy as np def solution(board): n = len(board) map = [[0]*(len(board)+2) for _ in range(len(board)+2)] # n+2 * n+2 행렬 map = np.array(map) bomb = [] # 지뢰 위치 저장 for i in range(n): for j in range(n): if board[i][j] == 1: bomb.append((i+1, j+1)) # map 기준 지뢰 위치 map[i+1][j+1] = 1 #..
프로그래머스 | 숨어있는 숫자의 덧셈(2) [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 1 - isalpha() 사용 def solution(my_string): for i in my_string: if i.isalpha(): my_string = my_string.replace(i, ' ') my_string = my_string.split() return sum(list(map(int, my_string))) 소문자, 대문자, 자연수로 구성된 문자열에서 숫자들의 합을 구하는 문제이다. "aAb1B2cC34oOp" 이런 식으로 문자열이 주어지면 숫자인 1 + 2 + 34의 합인 37을 구..
프로그래머스 | 다항식 더하기 [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(polynomial): polynomial = polynomial.replace(' ', '').split('+') a, b = 0, 0 for i in polynomial: if 'x' in i: if len(i) > 1: a += int(i[:-1]) else: a +=1 else: b += int(i) if a == 0: return '{}'.format(b) elif a == 1: if b == 0: return 'x' elif b != 0: return 'x + {}'.f..
프로그래머스 | 캐릭터의 좌표 [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(keyinput, board): x, y = 0, 0 xlim = board[0]//2 ylim = board[1]//2 for i in keyinput: if i == 'right': if x >= xlim: x = xlim else: x +=1 elif i == 'left': if x = ylim: y = ylim else: y += 1 elif i == 'down': if y x_lim or abs(y+dy)>y_lim: continue else: x,y = x+dx,y+dy..
프로그래머스 | 직사각형 넓이 구하기 [파이썬 python]
·
Algorithm/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/120860 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(dots): dots.sort(key=lambda x: (x[0], x[1])) return abs(dots[0][0] - dots[3][0]) * abs(dots[0][1] - dots[3][1]) 직사각형의 네 점의 좌표가 주어지면 직사각형의 넓이는 구하는 문제이다. 백준에서 비슷한 문제를 풀어본 기억이 있어 어렵지 않게 해결하였다. 리스트로 주어지는 네 좌표를 ..
프로그래머스 | 잘라서 배열로 저장하기 [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(my_str, n): answer = [my_str[i:i+n] for i in range(0, len(my_str), n)] return answer my_str = "abcdef123", n=3 이면 my_str을 n 개씩 잘라 배열로 나타내는 문제이다. 리스트를 자르기 위해서는 슬라이싱을 사용한다. n 개씩 자르기로 했으므로 [ i : i+n ]과 같이 슬라이싱을 할 수 있다. i의 범위는 리스트의 첫 번째 요소가 위치하는 0번 인덱스부터 마지막 인덱스까지이며, n 개씩 잘라..