본문 바로가기
728x90
반응형

분류 전체보기510

[백준] 2609번 : 최대공약수와 최소공배수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 두 수를 입력받는다. num1, num2 = map(int, sys.stdin.readline().split()) 최대공약수를 저장할 변수를 생성하고 1로 초기화한다. Max = 1 나눌 변수를 생성하고 1초 초기화한다. i = 1 원하는 시점에서 종료하기 위해 무한 반복문을 사용한다. while (True) 만약 두 수가 모두 나누어 떨어지면 if (num1 % i == 0) and (num2 .. 2023. 7. 13.
[백준] 1003번 : 피보나치 함수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 테스트 케이스 횟수를 입력받는다. T = int(sys.stdin.readline()) 테스트 케이스 횟수만큼 반복하며 for _ in range(T) 각 테스트 케이스 별로 피보나치 수를 입력받는다. num = int(sys.stdin.readline()) 각 피보나치 수의 0의 개수와 1의 개수를 저장할 리스트를 생성하고 초기의 0과 1의 0의 개수와 1의 개수를 리스트로 묶어 저장한다. li = [[1, 0], [0, 1.. 2023. 7. 13.
[백준] 1193번 : 분수찾기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 몇 번 분수를 출력할 것인지 입력받는다. X = int(sys.stdin.readline()) 대각선 별로 각 라인의 누적합만큼 번호를 갖는다. 또한 각 라인의 분모, 분자의 합은 라인 수에 1을 더한 값이다. 하여 분수를 구하려면 일단 몇 번 라인에 있는 분수인지 알아야 한다. 하여 분수의 개수와 라인 번호를 구한다. 분수의 개수를 구하기 위한 변수를 생성하고 초기화한다. count = 0 라인 번호를 구하기 위한 변수를 생성하고 초기화한다. line = 1 .. 2023. 7. 13.
[백준] 2231번 : 분해합 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 생성자를 구할 자연수를 입력받는다. N = int(sys.stdin.readline()) 생성자를 저장할 변수를 생성하고 생성자를 찾지 못했을 경우 값으로 초기화한다. answer = 0 입력받은 수까지 반복하며 생성자를 찾는다. for i in range(N) 각 자릿수를 저장하기 위해 값을 변수에 .. 2023. 7. 13.
[백준] 1181번 : 단어 정렬 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 입력받은 단어들을 문자열 길이순으로 오름차순 정렬을 한 상태에서 동일한 길이는 또 사전순으로 정렬해야 하므로 각 단어와 문자열의 길이를 딕셔너리로 저장하여 정렬한다. sys.stdin.readline() 함수로 입력받기 위해 sys 모듈을 불러온다. import sys 전체 단어의 개수를 입력받는다. N = int(sys.stdin.readline()) 입력받은 단어와 그 길이를 저장할 딕셔너리를 생성한다. d = {} .. 2023. 7. 13.
[자바(Java) 공부하기] 13. 필드 - 우당탕탕 개발자 되기 프로젝트 필드(field)에 대해 자세하게 알아보겠습니다. 필드는 객체의 고유 데이터로 객체의 현재 상태 데이터를 저장하는 곳입니다. 필드 선언은 클래스 중괄호 { } 블록 어디에서든 가능합니다. 생성자 선언과 메서드 선언의 앞이나 뒤, 어떤 곳에서도 필드 선언이 가능합니다. 하지만 생성자와 메서드 중괄호 { } 블록 내부에서는 선언할 수 없습니다. 생성자와 메서드 중괄호 내부에 선언되는 것은 모두 지역 변수가 되기 때문입니다. 필드를 사용하는 것은 필드값을 읽고 변경하는 작업을 말합니다. 클래스 내부의 생성자나 메서드에서 사용할 경우 필드 이름 자체로 읽고 변경할 수 있지만, 클래스 외부에서 사용할 경우 우선적으로 클래스로부터 객체를 생성한 뒤에, 필드를 사용해야 합니다. 객체를 이용해서 필드나 메서드를 호출할.. 2023. 7. 13.
[프로그래머스] 가장 가까운 같은 글자 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 추출한 글자를 저장하기 위한 리스트를 생성한다. word = list() 입력받은 문자열의 각 문자를 하나씩 추출한다. for i in s 만약 추출한 글자 리스트에 추출한 문자가 있다면 if (i in word) 처음 나온 문자가 아니므로 같은 글자가 몇 칸 앞에 있는지 구한다. 무조건 앞에 있으므로 거리를 저장할 변수를 생성하고 1로 초기화한다. count = 1 추출한 글자 리스트의 제일 뒤부터 문자를 하나씩 추출한다. for j in range(len(answer) - 1.. 2023. 7. 12.
[프로그래머스] 푸드 파이트 대회 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 물을 기준으로 앞, 뒤로 배치해야 하므로 appendleft() 함수와 append() 함수를 사용하기 위해 deque 자료구조를 활용한다. deque 자료구조를 사용하기 위해 deque 모듈을 불러온다. from collections import deque 각 음식 배치를 저장할 deque을 생성한다. d = deque() 처음에 기준이 되는 물을 배치한다. 각 음식은 인덱스 값을 추가한다. d.append(0) 각 음식을 추가하는 방식으로 배치하기에 음식을 칼로리가 높은 순으.. 2023. 7. 12.
[프로그래머스] N개의 최소공배수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 입력받은 리스트 중 앞에서 2개씩 꺼내어 두 수의 최소공배수를 구하고 구한 공배수를 다시 리스트의 제일 앞에 추가하며 최소공배수가 1개가 될 때까지 구한다. 구한 공배수를 제일 앞에 추가할 때 appendleft() 함수를 사용하기 위해 리스트를 deque 자료구조로 바꿔 사용해야 하는데 deque 자료구조를 사용하기 위해 deque 모듈을 불러온다. from collections import deque 입력받은 리스트를 deque 자료구조로 변환한다. queue = deque(.. 2023. 7. 12.
[프로그래머스] 점프와 순간 이동 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 해당 문제를 풀 때 어떻게 하면 건전지를 최소로 사용할 수 있을지 생각하면서 순간 이동을 많이 사용해야겠다는 생각을 했다. 1부터 각 경우마다 최소 건전지 사용 횟수를 계산해 보다가 6에서 입출력 예 설명을 보니 6은 1로 점프 후, 2로 순간 이동, 다시 3으로 점프, 6으로 순간 이동한 결과를 확인하게 되었다. 하여 무조건 먼저 순간 이동으로 최대로 이동을 하면 안 되겠다는 생각이 들었다. 이후, 2로 계속 나눠보기도 하고 3으로 나눠보기도 하고 계속 고민을 하던 중 각 수를.. 2023. 7. 12.
728x90
반응형