728x90
반응형
SMALL
Programmers 레벨 0_코딩 기초 트레이닝 문제 풀이
https://school.programmers.co.kr/learn/challenges/training?order=recent
코딩 기초 트레이닝 | 프로그래머스 스쿨
프로그래밍 언어를 처음 접하거나 프로그래밍 언어에 익숙해지고 싶다면? 코딩 역량을 탄탄하게 길러주는 코딩 기초 트레이닝으로 차근차근 코딩에 대한 기초 감각을 길러 보세요.
school.programmers.co.kr
풀이 날짜 : 2023-09-17
소요 시간 : 19min
문제 설명
정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [s, e] 꼴입니다.
각 query마다 순서대로 s ≤ i ≤ e인 모든 i에 대해 arr[i]에 1을 더합니다.
위 규칙에 따라 queries를 처리한 이후의 arr를 return 하는 solution 함수를 완성해 주세요.
나의 풀이
def solution(arr, queries):
for i, query in enumerate(queries) :
for k in range(query[0], query[1]+1) :
arr[k] += 1
return arr
s~e 사이의 모든 값에 + 1을 해야한다는 것을 못 보고 코드를 짰다가 테스트만 통과하고 정답처리는 되지 않아서 다시 풀었다.
이중 for문으로 작성했는데, 다른 사람의 풀이를 보니까 이중 배열에서 for문을 하나만 써도 되는 것을 깨달았다.
다른 풀이
def solution(arr, queries):
for l,r in queries:
for i in range(l,r+1): arr[i]+=1
return arr
다른 풀이 2
def solution(arr, queries):
for (s, e) in queries:
arr = [a+1 if s <= i <= e else a for i, a in enumerate(arr)]
return arr
728x90
반응형
LIST
'Coding Study > Programmers (Python)' 카테고리의 다른 글
[프로그래머스/파이썬] Lv.0 조건에 맞게 수열 변환하기 2 (40') (0) | 2023.09.19 |
---|---|
[프로그래머스/파이썬] Lv.0 조건에 맞게 수열 변환하기 1 (5') (0) | 2023.09.19 |
[프로그래머스/파이썬] Lv.0 n보다 커질 때까지 더하기 (17') (0) | 2023.09.17 |
[프로그래머스/파이썬] Lv.0 할 일 목록 (4') (0) | 2023.09.17 |
[프로그래머스/파이썬] Lv.0 5명씩 (1') (0) | 2023.09.17 |