코딩 기록들
[프로그래머스 코딩테스트 입문]-[점의 위치 구하기, 2차원으로 만들기] 본문
점의 위치 구하기
문제설명
x 좌표 (x, y)를 차례대로 담은 정수 배열 dot이 매개변수로 주어짐
좌표 dot이 사분면 중 어디에 속하는지 1, 2, 3, 4 중 하나를 return
제한사항
dot의 길이 = 2
dot[0]은 x좌표를, dot[1]은 y좌표를 나타냄
-500 ≤ dot의 원소 ≤ 500
dot의 원소는 0이 아닙니다.
입출력 예
dot result
[2, 4] 1 -> dot이 [2, 4]로 x 좌표와 y 좌표 모두 양수이므로 제 1 사분면에 속함. 1 treturn
[-7, 9] 2
코드
def solution(dot):
answer = 0
if dot[0] > 0 and dot[1] > 0:
answer = 1
elif dot[0] < 0 and dot[1] > 0:
answer = 2
elif dot[0] < 0 and dot[1] < 0:
answer = 3
else :
answer = 4
return answer
2차원으로 만들기
문제설명
- 정수 배열 num_list와 정수 n이 매개변수로 주어짐
- num_list를 다음 설명과 같이 2차원 배열로 바꿔 return
- num_list가 [1, 2, 3, 4, 5, 6, 7, 8] 로 길이가 8이고 n이 2이므로 num_list를 2 * 4 배열로 다음과 같이 변경합니다. 2차원으로 바꿀 때에는 num_list의 원소들을 앞에서부터 n개씩 나눠 2차원 배열로 변경합니다.
num_list n result
[1, 2, 3, 4, 5, 6, 7, 8] 2 [[1, 2], [3, 4], [5, 6], [7, 8]]
제한사항
num_list의 길이는 n의 배 수개
0 ≤ num_list의 길이 ≤ 150
2 ≤ n < num_list의 길이
입출력 예
num_list | n | result |
[1, 2, 3, 4, 5, 6, 7, 8] | 2 | [[1, 2], [3, 4], [5, 6], [7, 8]] |
풀이1
def solution(num_list, n):
answer = []
cnt = 0
a = []
for i in num_list:
a.append(i)
cnt += 1
if cnt == n:
answer.append(a)
cnt = 0
a = []
return answer
풀이2
def solution(num_list, n):
answer = []
for i in range(0, len(num_list), n): # index 0부터, index n-1 까지, n단위로
answer.append(num_list[i:i+n])
return answer
# range(start, stop, step)
# List[Start:End:Step]
- start : 자르기 시작할 index위치
- end : 자르기 끝낼 index위치
- step(option) : 특정단위로 잘라서 가지고오기 위함
'프로그래머스 문제기록' 카테고리의 다른 글
[프로그래머스 코딩테스트 입문] - [주사위의 개수, 합성수 찾기] (0) | 2023.09.20 |
---|---|
[프로그래머스 코딩테스트 입문] - [공 던지기, 배열 회전시키기] (0) | 2023.09.19 |
[프로그래머스 코딩테스트 입문] - [가위바위보, 구슬 나누는 경우의 수] (0) | 2023.09.15 |
[프로그래머스 코딩테스트 입문]-[개미군단, 모스부호(1)] (0) | 2023.09.14 |
[프로그래머스 코딩테스트 입문]-[순서쌍의 개수, 외계행성의 나이] (1) | 2023.09.13 |