본문 바로가기
728x90
반응형

분류 전체보기510

[백준] 1427번 : 소트인사이드 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 연산 속도가 빠른 deque 자료구조를 사용하기 위해 deque 모듈을 불러온다. from collections import deque 정렬할 문자열을 입력받아 각 문자별로 deque에 저장한다. string = deque(sys.stdin.readline().rstrip()) 입력받은 문자를 내림차순으로 정렬한다. string = sorted(string, reverse=True) 내림차순으로 정렬한 문자열을 한 .. 2023. 7. 17.
[백준] 2920번 : 음계 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 2920번: 음계 다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8 www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 음을 연주할 순서대로 입력받아 리스트로 저장한다. play = list(map(int, sys.stdin.readline().split())) 시작 음을 저장할 변수를 생성하고 입력받은 값에서 시작 값을 저장한다. start = play[0] 만약 시작 음이 1이라면 ascending인지 .. 2023. 7. 17.
[자바(Java) 공부하기] 17. 지정 예약어 - 우당탕탕 개발자 되기 프로젝트 지정 예약어에 대해 알아보기 전에 Java의 인스턴스와 정적 멤버에 대해 먼저 알아보겠습니다. 클래스로부터 객체(인스턴스)는 하나가 아니라 여러 개가 만들어질 수 있습니다. 이때 객체마다 필드 값이 달라야 한다면 해당 필드는 객체마다 가지고 있는 것이 맞지만, 객체의 필드 값이 모두 같아야 한다면 이 필드를 객체마다 가지고 있을 필요가 없게 됩니다. Java는 이런 경우를 위해 클래스 멤버를 인스턴스와 정적으로 구분해서 선언할 수 있도록 합니다. 인스턴스 멤버란 객체를 생성한 후 사용할 수 있는 필드와 메서드를 말하는데, 이들을 각각 인스턴스 필드와 인스턴스 메서드라고 부릅니다. 그리고 이는 생성한 객체를 참조 변수로 사용하여 접근해야 합니다. 필드와 메서드 앞에 static 키워드를 추가적으로 붙이면 .. 2023. 7. 17.
[프로그래머스] n^2 배열 자르기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 해당 문제는 풀이 애니메이션이 함정이다. 풀이 애니메이션처럼 배열의 값을 모두 구하여 해결하면 시간이 많이 걸리고 메모리도 많이 사용하게 된다. 하여 바로 정답 값만 저장할 수 있도록 해결해 보았다. left와 right 값을 매개변수로 입력받게 되는데, 이를 각 행과 열의 최대 개수인 n으로 나눈 몫과 나머지가 각 행과 열의 위치가 된다. 하여 이를 활용해 해당 2차원 배열에서 해당 위치의 값만 바로 정답 배열에 추가하는 방법으로 해결하였다. 행의 위치를 나타낼 변수를 생성하고.. 2023. 7. 16.
[프로그래머스] H-Index - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 논문의 인용 횟수를 담은 리스트를 오름차순으로 정렬한다. citations.sort() 만족하는 Index를 저장할 리스트를 생성한다. li = list() 인덱스는 0부터 논문의 인용 횟수의 최댓값까지 가능하므로 반복한다. for h in range(max(citations) + 1) 인덱스보다 많이 인용된 논문의 수를 저장할 변수를 생성하고 초기화한다. count = 0 논문의 인용 횟수를 하나씩 추출하여 for i in citations 만약 인용 횟수가 인덱스보다 크거나 .. 2023. 7. 16.
[프로그래머스] 연속 부분 수열 합의 개수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 부분 수열의 합을 저장할 리스트를 생성한다. li = list() 각 부분 수열의 경우는 길이가 1부터 부분 수열 원소 크기까지 반복한다. for k in range(len(elements)) 각 부분 수열의 시작을 나타내는 변수를 생성하고 초기화한다. i = 0 각 부분 수열의 끝을 나타내는 변수를 생성하고 각 경우별 길이만큼 떨어진 값을 저장한다. j = k + 1 각 길이별 경우는 모두 부분 수열 원소 크기만큼 그 합의 경우가 나오기 때문에 부분 수열 원소 크기만큼 연산을 .. 2023. 7. 16.
[프로그래머스] 2016년 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 각 달별 일 수를 리스트로 저장한다. 해당 년은 윤년이므로 2월이 29일까지 있다. month = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] 1월 1일이 금요일이므로 금요일부터 시작하여 목요일까지 요일을 리스트로 저장한다. day = ['FRI', 'SAT', 'SUN', 'MON', 'TUE', 'WED', 'THU'] 총 일 수를 저장할 변수를 생성하고 총 일 수를 더하여 저장한다. Sum = sum(month[: (a - 1)]).. 2023. 7. 16.
[자바(Java) 공부하기] 16. 접근제한자 - 우당탕탕 개발자 되기 프로젝트 접근 제한자는 말 그대로 접근을 제한하기 위해 사용됩니다. 접근은 클래스 및 인터페이스 그리고 이들이 가지고 있는 멤버의 접근을 말합니다. 접근 제한자는 public, protected, private 세 가지 종류가 있습니다. 먼저 클래스의 접근 제한부터 알아보자면, 클래스는 public, default 접근 제한을 가집니다. 클래스를 선언할 때 public을 생략했다면 클래스는 default 접근 제한을 가지게 됩니다. 클래스가 default 접근 제한을 가지면 같은 패키지(package)에서는 사용할 수 없습니다. 물론 경우에 따라 import를 활용하여 클래스에 접근할 수도 있습니다. 클래스에 public을 붙였다면 클래스는 다른 패키지에서도 아무런 제한 없이 사용할 수 있습니다. 다음으로 생성자.. 2023. 7. 16.
[백준] 1920번 : 수 찾기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 정수의 개수를 입력받는다. N = int(sys.stdin.readline()) 각 정수를 입력받아 리스트로 저장한다. A = list(map(int, sys.stdin.readline().split())) 테스트 횟수를 입력받는다. M = int(sys.stdin.readline(.. 2023. 7. 15.
[백준] 2775번 : 부녀회장이 될테야 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다 www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 테스트 케이스 개수를 입력받는다. T = int(sys.stdin.readline()) 각 테스트 케이스 횟수만큼 반복하며 for _ in range(T) 층 수를 입력받고 k = int(sys.stdin.readline()) 호 수를 입력받는다. n = int(sys.stdin.readline()) 각 층과 호 수별 사람의 수를 리스트로 생성한다. n_people = .. 2023. 7. 15.
728x90
반응형