[구현] 프로그래머스_가장 큰 수 + 자릿수를 기준으로 정렬, lambda, 슬라이싱
·
코딩 테스트 일지 📒
0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 만들어내야 하는 문제입니다.예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다.문제를 보고 먼저 든 생각은, 자릿수의 길이에 상관없이 해당 원소에서 자릿수가 큰 쪽부터 비교를 해야 한다고 생각했는데요!예를 들어, [6, 10, 200]에서는 10에서 자릿수가 큰 수는 십의 자리로 1입니다. 그리고 200에서 자릿수가 큰 수는 백의 자리로 2입니다. 그래서 6, 1, 2를 비교해서 가장 큰 6을 맨 앞에 위치시켜야 하겠죠?!각 자릿수의 수를 알아내는 방법바로 str 함수를 사용하면 됩니다.num = 342str..
[정렬] 두 배열의 원소 교체 + 입력받은 개수만큼 1차원 배열로, 리스트 원소값 서로 바꾸기, 리스트 원소의 합
·
코딩 테스트 일지 📒
입력받은 개수만큼 1차원 배열로 변환하기입력받을 땐, 공백을 기준으로 입력받거나 엔터를 기준으로 입력받을 수 있는데요!엔터를 기준으로 입력받을 땐, 원하는 개수만큼 반복문을 돌리면 되지만,공백을 기준으로 입력받을 때 쓰이는 split() 함수는 사용자가 입력한 정수의 개수와 상관없이 입력받기 때문에 입력 크기를 제한할 수 없습니다!엔터를 기준으로 원하는 개수만큼 입력받아 1차원 배열로 변환하는 방법n = int(input())numbers = [int(input()) for _ in range(n)]공백을 기준으로 입력받아 1차원 배열로 변환하는 방법numbers = list(map(int, input().split()))리스트 원소값 서로 바꾸기a = [1, 2, 3, 4]i, j = 1, 2 # 바..
[DFS & BFS] 프로그래머스_게임 맵 최단거리 & 나동빈_미로탈출
·
코딩 테스트 일지 📒
들어가기 전에 알아야 할 것!2차원 배열 크기 확인 방법행 크기maps = [[1,0,1,1,1],[1,0,1,0,1]]print(len(maps))출력값 : 2 (드래그)열 크기maps = [[1,0,1,1,1],[1,0,1,0,1]]print(len(maps[0]))출력값 : 5 (드래그)return문에서 if-else문 이용하기원래 방식if answer == 1: return -1else: return answer한줄로 간결히 코딩하기return -1 if answer == 1 else answer게임맵 최단거리https://school.programmers.co.kr/learn/courses/30/lessons/1844?language=python3 프로그래머스코드 중심의 개발자 채용. 스택 기반..
[DFS & BFS] 음료수 얼려먹기 + 2차원 리스트 생성 및 입력 방법
·
코딩 테스트 일지 📒
2차원 리스트 생성 및 입력 방법0. 0으로 채워진 2차원 리스트 생성하기my_list = [[0 for _ in range(n)] for _ in range(0)] #0으로 이루어진 2차원 리스트 생성 * for 문에서 _는 변수 지정 없이 반복할 때 사용한다.  1. 0으로 채워진 1차원 리스트의 각 원소에 리스트 추가하기n, m = map(int, input().split()) #n은 행, m은 열my_list = [0 for _ in range(n)] #0으로 채워진 1차원 리스트 my_list를 생성함for i in range(n) my_list[i] = list(map(int, input().split())) #1차원 리스트의 각 원소에 배열을 입력받음 2. 빈 1차원 리스트의 각 원소에 리..
[구현] 프로그래머스_키패드 누르기
·
코딩 테스트 일지 📒
https://school.programmers.co.kr/learn/courses/30/lessons/67256 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제는 위 링크에서 봐주세요! 1, 4, 7은 왼손이, 3, 6, 9는 오른손이 누르지만, 2, 5, 8, 0은 더 가까운 손이 누르기 때문에 경로를 계산하는 것이 중요합니다. 점과 점 사이의 직선 경로가 아니고 상하좌우 1칸 이동의 제한이 있는 상태에서 경로를 계산해야 해서 그 규칙을 파악하는데만 1시간 30분 정도가 걸렸습니다..ㅎ 그래도 규칙을 이해하고 나니 굉장히 재미있었습니당ㅎ 다음은 경로 ..
[그리디] 모험가 길드 + input(), sort(), sorted()
·
코딩 테스트 일지 📒
input() 함수 사용자가 입력한 내용은 문자열 형태로 반환한다.name = input("이름을 입력하세요: ")print("안녕하세요,", name)숫자 타입으로 바꾸고 싶다면, int() 함수나 float() 함수를 사용하여 문자열을 정수나 부동 소수점 숫자로 변환할 수 있다.num_input = int(input("정수를 입력하세요: "))print("입력된 정수:", num_input) 사용자의 입력을 받을 때, 개행 문자(Enter)를 입력으로 받아들인다. 따라서 사용자가 입력을 완료하려면 Enter 키를 눌러야 한다.띄어쓰기로 구분된 여러 개의 문자 입력을 받고 싶다면, split() 함수를 이용한다. 띄어쓰기로 구분된 여러개의 문자 입력을 리스트에 넣고 싶은 경우, list() 함수를 이용..
[그리디] 곱하기 혹은 더하기 + str(), int()
·
코딩 테스트 일지 📒
나동빈 채널을 보면서 코딩 테스트를 준비하고 있습니다! https://www.youtube.com/watch?v=2zjoKjt97vQ&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=3[그리디] 곱하기 혹은 더하기18:50초에 나오는 [곱하기 혹은 더하기] 문제를 풀어보도록 하겠습니다. 그전에 파이썬 기본부터 다져볼까요?! Q. 입력값이 "02345"일 때, 다음 코드로 출력되는 건 무엇일까요? n = int(input())list = []for i in str(n): list.append(int(i))print(list)       정답은...!        [ 0, 2, 3, 4, 5 ]가 아닌 [ 2, 3, 4, 5 ]입니다!str() 함수는 숫자를 문자열로 변환..
코양이🤍
'코딩 테스트 일지 📒' 카테고리의 글 목록 (7 Page)