728x90 반응형 Python437 [프로그래머스] 가장 큰 수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 해당 문제는 정렬과 문자열을 활용하는 문제이다. 각 숫자는 0부터 1,000까지의 수이므로 최대 4자리 수이다. 모두 다른 자리의 수가 주어진다면, 어떤 조합이 가장 큰 수가 되는지 찾는 것은 많은 시간이 소요될 것이다. 하여 모든 수를 4자리 수 이상이 되도록 변경한 뒤 앞 4자리만 비교하여 내림차순 정렬을 해준다. 최소 1자리 수부터 있으므로 수를 문자열로 바꾸어 4배하면 모든 수를 4자리 이상의 수로 만들 수 있다. 모든 수를 문자열로 바꾸고 4개를 이어붙인 문자열의 앞에서.. 2023. 10. 7. [백준] 2566번 : 최댓값 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 2566번: 최댓값 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 격자판의 숫자를 모두 입력받아 2차원 배열로 저장한 후, 각 값을 하나씩 불러와 계속적으로 최댓값을 찾고 새로운 최댓값을 찾으면 해당 행 번호와 열 번호를 저장한다. sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 격자판에 쓰여진 숫자를 입력받아 2차원 리스트로 저장한다. li = list(list(map(int, sys.stdin.readline().split())) for _ in.. 2023. 10. 6. [프로그래머스] 택배상자 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 해당 문제는 컨테이너 벨트를 스택 구조로 하여 해결하면 된다. 상자를 1번부터 하나씩 불러와 우선 컨테이너 벨트에 싣는다. 그리고 컨테이너 벨트가 비거나 꺼낼 수 있는 상자가 현재 실어야 하는 상자가 아닐 때까지 반복하며 상자를 트럭에 싣는다. 컨테이너 벨트를 리스트로 생성한다. belt = [] 현재 실을 상자의 인덱스를 저장할 변수를 생성하고 초기화한다. idx = 0 상자는 1번부터 전체 실을 상자의 개수만큼 존재하므로 하나씩 불러오며 for box in range(1, l.. 2023. 10. 5. [백준] 25206번 : 너의 평점은 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 25206번: 너의 평점은 인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치 www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 입력받은 등급을 기준으로 P 등급이 아닌 과목의 전공평점을 구하는 문제이다. 각 등급별 과목평점을 미리 딕셔너리를 통해 저장해 두고 전공과목별 점수를 계산할 때 활용한다. 각 입력은 한 번에 입력되므로 문자열 형태로 입력받은 다음 계산할 때 알맞은 자료의 형태로 변환하여 계산한다. sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 등급에 따른 과목평점을 딕셔너리로 저장한다... 2023. 10. 4. [프로그래머스] 단속카메라 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 해당 문제는 카메라를 설치할 구간을 지정해 가며 최소한으로 카메라를 설치하는 개수를 구하는 문제이다. 차량의 이동 경로에서 진입 구간이 늦은 차량부터 살펴보며 카메라를 설치할 구간을 정한다. 다음 차량의 진입 구간이 이전 차량의 진출 구간보다 전에 있다면 두 차량의 이동 경로가 겹치게 되고 겹치는 지점에 카메라를 설치하면 카메라를 최소한으로 설치할 수 있다. 차량의 이동 경로를 오름차순으로 정렬한다. routes.sort() 처음 카메라를 설치할 구간을 제일 뒷 경로의 구간으로 .. 2023. 10. 3. [백준] 10988번 : 팰린드롬인지 확인하기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 10988번: 팰린드롬인지 확인하기 첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 입력받은 문자열이 팰린드롬인지 확인하는 문제이다. 팰린드롬은 앞으로 읽을 때와 거꾸로 읽을 때 똑같은 단어를 말하므로 양쪽 끝의 문자가 동일한 문자인지 비교하며 가운데 문자까지 비교했을 때 각 모든 문자가 같으면 된다. sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 문자열을 입력받는다. 마지막에 입력받은 엔터를 지워준다. S = sys.stdin.readline().rstrip() 팰린드롬을 확인할 변수를 생성한다. c.. 2023. 10. 2. [프로그래머스] 2개 이하로 다른 비트 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 해당 문제는 함수에 넣을 수가 어떤 수인지에 따라 계산이 달라진다. 만약 정수가 짝수이면 무조건 2진수로 변환한 결과는 마지막 비트가 0이다. 하여 무조건 다음 수인 마지막 비트를 1로 바꾼 수가 함숫값이 된다. 하지만 정수가 홀수이면 2진수로 변환한 결과는 끝이 11이거나 01로 끝나게 된다. 하여 홀수일 경우에는 정수를 2진수의 뒤집은 결과를 구하고 앞에서부터 다음 비트와 비교하여 01이 나오면 함숫값은 두 비트를 바꾼 값이 된다. 2 = 10 → 3 = 11 | 4 = 10.. 2023. 10. 1. [백준] 10811번 : 바구니 뒤집기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 10811번: 바구니 뒤집기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2 www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 바구니 개수와 바구니를 뒤집을 횟수를 입력받는다. N, M = map(int, sys.stdin.readline().split()) 각 바구니를 리스트로 생성한다. basket = list(i for i in range(N + 1)) 바구니를 뒤집을 횟수만큼 반복하며 for _ in range(M) 뒤집을 바구니의 구간을 입.. 2023. 9. 30. [프로그래머스] 대충 만든 자판 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 작성할 문자열을 하나씩 불러온다. for i in targets 해당 문자열을 입력할 수 있는지 결과를 저장할 리스트를 생성한다. result = list() 작성한 문자열을 문자 하나씩 불러온다. for j in i 각 문자를 입력할 경우를 저장할 리스트를 생성한다. li = list() 자판을 하나씩 불러오며 for k in keymap 만약 불러온 자판으로 해당 문자를 입력할 수 있으면 if (j in k) 몇 번 눌러야 하는지 결과를 저장한다. li.append(k.ind.. 2023. 9. 29. [백준] 10813번 : 공 바꾸기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 10813번: 공 바꾸기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 바구니에는 공이 1개씩 들어있고, 처음에는 바구니에 적혀있는 번호와 같은 번호가 적힌 공이 www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 바구니 개수와 공을 옮길 횟수를 입력받는다. N, M = map(int, sys.stdin.readline().split()) 각 바구니에는 각 바구니의 번호와 같은 공이 들어있다. basket = list(i for i in range(N + 1)) 공을 옮길 횟수만큼 반복하며 for _ in range(M) 공을 바꿀 바구니의 번.. 2023. 9. 28. 이전 1 ··· 16 17 18 19 20 21 22 ··· 44 다음 728x90 반응형