본문 바로가기
728x90
반응형

분류 전체보기510

[프로그래머스] 영어 끝말잇기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 탈락자가 생기지 않을 경우 [0, 0]을 반환해야 하므로 기본 정답을 [0, 0]으로 설정한다. answer = [0, 0] 사용한 단어들을 저장할 리스트를 생성하고 시작 단어를 추가한다. li = [words[0]] 끝말잇기 차례를 나타낼 변수를 생성하고 1로 초기화한다. turn = 1 시작 단어는 이미 들어가 있기 때문에 다음 단어부터 각 단어를 추출한다. for i in range(1, len(words)) 사용한 단어의 리스트에서 이전 값을 저장한다. pre = li[i.. 2023. 7. 8.
[자바(Java) 공부하기] 8. 조건문 - 우당탕탕 개발자 되기 프로젝트 조건문에 대해 알아보겠습니다. 조건문에는 크게 if 문과 switch 문이 있습니다. 먼저 if 문은 조건식의 결과가 참이냐 거짓이냐에 따라서 실행문의 실행 여부가 결정되는 조건문입니다. if (조건식) { 실행문 } 형식으로 작성해 주면 조건식이 참일 경우 실행문을 실행하게 됩니다. 조건문을 사용할 때, if 문만 사용하여 코드를 작성하게 되면 모든 if 문을 판단하고 실행하기 때문에 효율적이지 못합니다. 따라서 else if 문과 else 문을 사용하여 더 효율적으로 코드를 작성할 수 있습니다. else if 문은 위의 조건식이 거짓이라고 판단된 상황에서 else if 문의 조건식이 참인 경우에 실행됩니다. else 문은 위에 적힌 모든 조건식이 거짓일 경우에 실행됩니다. else if 문과 else.. 2023. 7. 8.
[자바(Java) 공부하기] 7. 연산자 - 우당탕탕 개발자 되기 프로젝트 Java에서 연산자는 Python, C언어와 유사합니다. 먼저 부호연산자는 값의 부호를 변환해 주는 연산자로 +, -가 있습니다. 증감연산자는 전위 증감연산자와 후위 증감연산자로 구분됩니다. 전위 증감연산자는 변수 앞에 연산자를 적어주어 변수의 값을 증가 및 감소시켜 준 뒤, 해당 값을 사용하지만 후위 증감연산자는 변수 뒤에 연산자를 적어주어 변수의 값을 먼저 사용하고 해당 값을 증가 및 감소시켜 줍니다. 대입연산자는 오른쪽의 값을 왼쪽으로 대입해 주는 연산자입니다. 산술연산자는 C언어의 산술 연산자와 동일합니다. + (덧셈), - (뺄셈), * (곱셈), / (나눗셈), % (나머지) 연산자가 있습니다. 논리연산자도 마찬가지로 C언어와 동일하게 && (AND), || (OR), ! (NOT) 연산자를 .. 2023. 7. 7.
[백준] 10870번 : 피보나치 수 5 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 1. 문제 설명 2. 풀이과정 출력하는 피보나치 수가 20이 최대이므로 20번째까지 피보나치 수를 만들어 리스트에 저장해 두고 입력을 받으면 만들어둔 리스트에서 해당 값을 출력해 주는 방식으로 구현한다. sys.stdin.readline() 함수로 입력받기 위해 sys 모듈을 불러온다. import sys 피보나치 수를 만들어줄 함수를 구현한다. def Func(num1, num2, count) 만약 20번째 피보나치 수를 .. 2023. 7. 7.
[백준] 10817번 : 세 수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 10817번: 세 수 첫째 줄에 세 정수 A, B, C가 공백으로 구분되어 주어진다. (1 ≤ A, B, C ≤ 100) www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수로 입력받기 위해 sys 모듈을 불러온다. import sys 세 정수를 리스트로 입력받아 저장한다. li = list(map(int, sys.stdin.readline().split())) 입력받은 세 정수를 정렬한다. li.sort() 정렬한 수에서 두 번째로 큰 수인 가운데 수를 출력한다. print(li[1]) 3. 소스코드 import sys li = list(map(int, sys.stdin.readline().split())) li.sort() print(li[1]) 2023. 7. 7.
[백준] 2869번 : 달팽이는 올라가고 싶다 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 1. 문제 설명 2. 풀이과정 달팽이가 올라갈 수 있는 높이, 미끄러지는 높이, 나무 막대의 높이를 입력받는다. A, B, M = map(int, input().split()) 달팽이가 하루동안 올라가는 총 높이를 구한다. oneDay = A - B 정상에 올라가면 미끄러지지 않으므로 마지막날 정상에 올라가는 높이를 빼준다. V -= A math 모듈의 ceil() 메서드를 사용하여 마지막날을 제외하고 며칠을 올라가야 하는지 구하여 마지막날을 포함한 결과를 출력한다. print(math.ceil(V / oneDay) +.. 2023. 7. 7.
[프로그래머스] 짝지어 제거하기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 문자열을 매번 짝지어진 문자열을 제거하고 이어 붙이는 작업을 문자열이 공백이 될 때까지 반복하는 방법으로 코드를 작성하면 반복문이 많이 수행되게 되어 시간 초과가 뜬다. 하여 반복문을 1개만 작성하여 문제를 해결하기 위해 스택(Stack) 구조를 사용하여 문제를 해결하였다. 스택으로 사용할 리스트를 생성한다. li = list() 입력받은 문자열의 각 문자를 추출한다. for i in s 만약 스택이 비어있으면 무조건 추출한 문자를 스택에 삽입한다. if (len(li) == 0.. 2023. 7. 7.
[프로그래머스] 크기가 작은 부분 문자열 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 부분문자열을 저장할 리스트를 생성한다. li = list() 문자열 t의 길이만큼 반복한다. for i in range(len(t)) 만약 다음 인덱스 번호(i와 문자열 p의 길이의 합)가 문자열 t의 길이보다 작거나 같으면 if (i + len(p) 2023. 7. 7.
[프로그래머스] 최소직사각형 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 지갑의 크기를 가장 작게 만들려면 각 길이를 작은 길이별로, 큰 길이별로 구분하여 각각 가장 큰 값만 추출하여 만들면 된다. 각 명함의 원소를 하나씩 추출하여 for i in sizes 더 짧은 길이가 앞에 오도록 다시 정렬한다. i.sort() 가로의 길이를 저장할 변수를 만들고 초기화한다. length = 0 세로의 길이를 저장할 변수를 만들고 초기화한다. width = 0 각 명함의 원소를 하나씩 추출한다. for i in sizes 추출한 원소의 첫 번째 값 중 가장 큰 .. 2023. 7. 7.
[프로그래머스] 시저 암호 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 입력받은 문자열의 각 문자를 하나씩 추출한다. for i in s 추출한 문자를 아스키코드값으로 변환하고 거리를 더한 값을 저장한다. num = ord(i) + n 만약 추출한 문자가 공백문자이면 그대로 공백 문자를 추가한다. if (i == ' '): answer += i 만약 변환 결과가 소문자 z를 넘어가면 elif (122 < num) 변환 결과에 26을 빼준 값을 문자로 변환하여 추가한다. answer += chr(num - 26) 만약 변환 결과가 대문자 Z를 넘어가고.. 2023. 7. 7.
728x90
반응형