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

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

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

최근 댓글

최근 글

티스토리

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

12시 지난 새벽

Algorithm

[프로그래머스] 코딩테스트 연습월간 코드 챌린지 시즌1 두 개 뽑아서 더하기

2022. 7. 15. 22:18

문제

문제 설명

정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.


제한사항
  • numbers의 길이는 2 이상 100 이하입니다.
    • numbers의 모든 수는 0 이상 100 이하입니다.

 

입력 & 출력

입출력 예

numbersresult

[2,1,3,4,1] [2,3,4,5,6,7]
[5,0,2,7] [2,5,7,9,12]

 

풀이 과정

1. 배열을 간단히 핸들링하는 문제입니다. 배열은 연속성이 있고 나열 가능하므로 for문을 이용해서 한 개씩 접근을 할 수 있고 첫 번째 수를 뽑은 상태에서 남은 숫자를 for문 처리하는 2중 for문의 구조로 해결합니다.

2. 두 번째 for문에서는 첫 번째 숫자를 포함하지 않게 구성하는 것만 조심하면서 문제에 표현된 대로 숫자들을 합하면서 answer배열을 만들어주면 되겠습니다.

3. 마지막 처리는 set() 함수와 sorted() 함수를 이용하여 중복을 제거하고 정렬을 진행하면 됩니다.

 

코드

def solution(numbers):
    answer = []
    for i, first_number in enumerate(numbers):
        for second_number in numbers[i + 1:]:
            answer.append(first_number + second_number)

    answer = sorted(set(answer))
    return answer
저작자표시 비영리 변경금지 (새창열림)

'Algorithm' 카테고리의 다른 글

[프로그래머스] 코딩테스트 연습스택/큐프린터  (0) 2022.07.18
[프로그래머스] 코딩테스트 연습2019 카카오 개발자 겨울 인턴십 크레인 인형뽑기 게임  (0) 2022.07.17
[프로그래머스] 코딩테스트 연습2017 팁스타운 짝지어 제거하기  (0) 2022.07.14
[프로그래머스] 코딩테스트 연습깊이/너비 우선 탐색(DFS/BFS)타겟 넘버  (0) 2022.07.10
[프로그래머스] 코딩테스트 연습월간 코드 챌린지 시즌1내적  (0) 2022.07.04
    'Algorithm' 카테고리의 다른 글
    • [프로그래머스] 코딩테스트 연습스택/큐프린터
    • [프로그래머스] 코딩테스트 연습2019 카카오 개발자 겨울 인턴십 크레인 인형뽑기 게임
    • [프로그래머스] 코딩테스트 연습2017 팁스타운 짝지어 제거하기
    • [프로그래머스] 코딩테스트 연습깊이/너비 우선 탐색(DFS/BFS)타겟 넘버
    새벽_나그네
    새벽_나그네
    IT, 프로그래밍, 정보, 스마트스토어

    티스토리툴바