새벽_나그네
12시 지난 새벽
새벽_나그네
전체 방문자
오늘
어제
  • 분류 전체보기
    • TIL
    • DevLog
    • Algorithm
    • ComputerScience
    • etc

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 개발일지
  • 자기주도학습
  • TodayILearned
  • machine learning
  • 스파르타코딩클럽
  • portfolio
  • 코딩
  • AI트랙
  • Selenium 4
  • 내일배움단
  • Github
  • 프로그래머스
  • docker
  • 코딩프로젝트
  • til
  • 국비지원
  • 내일배움캠프
  • 내일배움카드
  • Python
  • 코린이

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
새벽_나그네

12시 지난 새벽

Algorithm

[프로그래머스] 문자열 내 마음대로 정렬하기

2022. 8. 16. 23:49

문제

문제 설명

문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다.

제한 조건
  • strings는 길이 1 이상, 50이하인 배열입니다.
  • strings의 원소는 소문자 알파벳으로 이루어져 있습니다.
  • strings의 원소는 길이 1 이상, 100이하인 문자열입니다.
  • 모든 strings의 원소의 길이는 n보다 큽니다.
  • 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다.

 

입력 & 출력

입출력 예

stringsnreturn

["sun", "bed", "car"] 1 ["car", "bed", "sun"]
["abce", "abcd", "cdx"] 2 ["abcd", "abce", "cdx"]

 

풀이 과정

1. 제공받은 strings 배열에서 각각의 문자열을 뽑아내고 그 문자열의 n번째 문자를 뽑아서 뽑은 문자열 + 원래 문자열의 모습으로 a라는 문자열을 만들어주고 이를 n_list에 append 해준다.

2. 해당 내용을 sort() 함수를 이용하여 정렬해준 후에 answer값에 다시 append 해주는데 이는 정렬되어있는 순서대로 뽑은 상태로 slicing 하여 0번째 값을 뺀 1번째부터 마지막까지의 문자열을 뽑아내어 붙여주고 이를 리턴하여 주도록 한다.

 

코드

def solution(strings, n):
    answer = []
    n_list = []
    for string in strings:
        a = string[n] + string
        n_list.append(a)

    n_list.sort()

    for i in n_list:
        answer.append(i[1:])
    return answer
저작자표시 비영리 변경금지 (새창열림)

'Algorithm' 카테고리의 다른 글

[프로그래머스] [1차] 다트 게임  (0) 2022.08.17
[프로그래머스] 실패율  (0) 2022.08.17
[프로그래머스] 자릿수 더하기  (0) 2022.08.15
[프로그래머스] 두 정수 사이의 합  (0) 2022.08.15
[프로그래머스] 나누어 떨어지는 숫자 배열  (0) 2022.08.14
    'Algorithm' 카테고리의 다른 글
    • [프로그래머스] [1차] 다트 게임
    • [프로그래머스] 실패율
    • [프로그래머스] 자릿수 더하기
    • [프로그래머스] 두 정수 사이의 합
    새벽_나그네
    새벽_나그네
    IT, 프로그래밍, 정보, 스마트스토어

    티스토리툴바