티스토리 뷰
Python의 List 자료형은 순서가 있는 자료형으로 인덱싱과 슬라이싱이 가능하여 원하는 위치에 존재하는 데이터를 쉽게 추출할 수 있다는 장점이 있습니다. 이번 글에서 List 자료형의 인덱싱을 활용하는 문제들을 풀어 보겠습니다.
1. 잘라서 배열로 저장하기
https://school.programmers.co.kr/learn/courses/30/lessons/120913
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
입력된 문자열을 앞에서만큼 특정 길이만큼 잘라서 저장한 배열을 반환하는 문제
- Test Case 1 : string1 = "abcdef123" n = 3
"abcdef123"을 3개의 문자 씩 잘라서 반환시키면 ["abc", "def", "123"]으로 잘라서 반환시키기
abcdef123 => abc을 잘라서 다른 배열에 저장
=> def123에서 def을 잘라서 저장
=> 123을 저장
Solution)
인덱싱을 활용해서 입력된 n칸만큼 문자를 자른 다음, 잘라진 배열부터 다시 인덱싱 하기
def solution(my_str, n):
answer = []
tmp_string = ''
while len(my_str) != 0:
tmp_string = my_str[:n]
answer.append(tmp_string)
my_str = my_str[n:]
return answer
2. 2차원으로 만들기
https://school.programmers.co.kr/learn/courses/30/lessons/120842
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
1차원으로 입력된 배열을 n개의 원소만큼 씩 묶어서 2차원으로 만들기
- Test case 1: num_list = [1, 2, 3, 4, 5, 6, 7, 8], n = 2 이면 [[1, 2], [3, 4], [5, 6], [7, 8]]
- Test case 2: num_list = [100, 95, 2, 4, 5, 6, 18, 33, 948], n = 3이면 [[100, 95, 2], [4, 5, 6], [18, 33, 948]]
Solution)
2차원 배열로 만드는 방법은 n의 배 수개가 num_list의 길이가 되도록 만들기
입력된 배열의 길이가 0이 되기 전까지 계속 반복
-> 잘라진 요소들은 기존 배열에서 삭제시키기
-> 기존 배열에 아무런 요소가 남아있지 않으면 반복문을 빠져나오기
def solution(num_list, n):
answer = []
while len(num_list)!=0:
for idx in range(n):
if not num_list:
continue
answer.append(num_list[:n])
del num_list[:n]
return answer'Python' 카테고리의 다른 글
| [프로그래머스] 순열과 조합을 이용한 문제 연습 (0) | 2025.02.16 |
|---|---|
| [프로그래머스] deque을 활용한 문제 풀이 (0) | 2025.02.03 |
| [프로그래머스] 가까운 수 (sorted함수 연습) (0) | 2025.01.23 |
| [프로그래머스] 배열 회전시키기 (0) | 2025.01.21 |
| [시각화] Matplotlib (0) | 2025.01.15 |
- #웹 프로그래밍 #서버 #클라이언트 #http #was
- randomforest #bagging #머신러닝 #하이퍼파라미터 튜닝
- # 프로그래머스 # 카펫 # 완전탐색
- #docker #docker compose
- 잘라서 배열로 저장하기 #2차원으로 만들기
- #polars #대용량 데이터셋 처리
- pca #주성분분석 #특이값분해 #고유값분해 #공분산행렬 #차원의 저주
- #자연어 처리 #정수 인코딩 #빈도 수 기반
- #attention #deeplearning
- 머신러닝 #lightgbm #goss #ebf
- # 프로그래머스 #연속된 부분수열의 합 #이중 포인터 #누적합
- # 할인행사 #counter #딕셔너리 #프로그래머스
- #docker #container #docker command
- #python #프로그래머스 #외계어사전 #itertools #순열과조합
- 머신러닝 #xgboost #
- #프로그래머스 #안전지대 #시뮬레이션
- #with recursive #입양시각 구하기(2) #mysql
- #물고기 종류별 대어 찾기 #즐겨찾기가 가장 많은 식당 정보 출력하기 #mysql #programmers
- #seq2seq #encoder #decoder #teacher forcing
- #docker #image #build #dockerfile
- #tf idf
- 자연어 처리 #정제 #정규표현식 #어간 추출 #표제어 추출
- python #프로그래머스 #겹치는선분의길이
- 프로젝트 #머신러닝 #regression #eda #preprocessing #modeling
- #opencv #이미지 읽기 #이미지 제작 #관심영역 지정 #스레시홀딩
- #opencv #이미지 연산 #합성
- 머신러닝 #project #classification #dacon
- #django #mvt 패턴
- nlp #토큰화 #nltk #konply
- 로지스틱 회귀 #오즈비 #최대우도추정법 #머신러닝