본문 바로가기

Dev. Etc/Algorithm

(43)
[알고리즘] JAVA독과 함께! - python Q. 첫 문제를 푼 라이캣은 자신의 한계가 어디인지 궁금했어요. 그렇지만 높은 곳은 혼자 갈 수 없죠. 그래서 동료를 모으기로 결심했습니다. 하지만 선뜻 멀고 험한길을 듣보잡 라이캣과 함께 해줄 친구들은 없었답니다. 라이캣은 랩처럼 대사를 외우고 다녔어요. 내 동료가 되어라냥! 뭐지? 명령문인가? '냥'이라니, 자연어처리가 힘들겠는걸? 동료는 sum인가, concat인가? axis 0인가, 1인가? 동물 친구들은 수근거렸습니다. 혼자 코딩하기 좋아하는 동물 친구들은 동료라는 말도 이해하지 못했어요. 그러던 중 동물 친구들 중에서 가장 재빠르고, 영리한 JAVA독이 말했습니다. 사실 자바독은 늘 Python을 해보고 싶었거든요. 그래서 라이캣이 파이와 썬의 보물을 찾으러 가는 도구로 파이썬을 사용한다고 하..
[알고리즘] 암호를 해독해라 - python Q. 모든 알고리즘을 해독할 수 있는 알고리즘 7 원석를 보유한 알고리즘 제왕 파이와 썬은 죽기 전, 이 보물에 '암호'를 걸어 세계 어딘가에 묻어놨다고 공표하였다. 그가 남긴 문자는 아래와 같다. 섬으로 향하라! ' + -- + - + - ' ' + --- + - + ' ' + -- + - + - ' ' + - + - + - + ' 해(1)와 달(0), Code의 세상 안으로!(En-Coding) A. array = [' + -- + - + - ', ' + --- + - + ', ' + -- + - + - ', ' + - + - + - + ' ]; s = [i.strip().replace(' ','').replace('+','1').replace('-','0') for i in array ] list ..
[Python] 백준 알고리즘 11021번 문제풀이 (A+B - 7) www.acmicpc.net/problem/11021 11021번: A+B - 7 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. www.acmicpc.net T = int(input()); for i in range(T): A, B = map(int, input().split()); result = A + B; print("Case #%s: %s" %(i+1, result)); 테스트케이스를 입력받기 위해 T라는 변수에 input으로 입력받습니다. for-in을 사용해서 입력받은 테스트케이스만큼 반복해줍니다. 반복문 안에서는 A, B 각각 변수를 int타입으로 입력받아서 덧셈한 뒤, result 변수에 값을 저장합니다. 그리고 매번 ..
[Python] 백준 알고리즘 2163번 문제풀이 (초콜릿 자르기) www.acmicpc.net/problem/2163 2163번: 초콜릿 자르기 정화는 N×M 크기의 초콜릿을 하나 가지고 있다. 초콜릿은 금이 가 있는 모양을 하고 있으며, 그 금에 의해 N×M개의 조각으로 나눠질 수 있다. 초콜릿의 크기가 너무 크다고 생각한 그녀는 초콜릿 www.acmicpc.net n, m = map(int, input().strip().split()) def sloveFun(n, m): return (n-1) + n * (m-1) print(sloveFun(n, m)); n, m 변수에 각각 숫자를 입력하여 저장해줍니다. sloveFun이라는 함수를 선언해서 매개변수 n과 m을 받고 위 문제에서의 계산식으로 계산하여 리턴해줍니다. 예를 들어 5 4을 입력하여 5x4의 초콜릿이 있다..
[Python] 백준 알고리즘 3046번 문제풀이 (R2) www.acmicpc.net/problem/3046 3046번: R2 두 숫자 R1과 R2가 있을 때, 두 수의 평균 S는 (R1+R2)/2와 같다. 상근이는 정인이 생일 선물로 두 숫자 R1과 R2를 주려고 한다. 생일 파티에서 상근이는 정인이에게 이 두 숫자를 말해주고, 정인이는 www.acmicpc.net R1, S = map(int, input().split()); R2 = (S * 2)-R1; print(R2); (R1*R2)/2 = S 라고 했을때 R2의 값을 얻기위해 (S*2)-R1라는 계산식이 나옵니다. 즉, R2 = (S*2)-R1 로 계산해주고 R2를 출력해줍니다.
[Python] 백준 알고리즘 2588번 문제풀이 (곱셈) www.acmicpc.net/problem/2588 2588번: 곱셈 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. www.acmicpc.net A = int(input()) B = int(input()) out1 = A*((B%100)%10) out2 = A*((B%100)//10) out3 = A*(B//100) result = A*B print(out1, out2, out3, result, sep='\n') 두 개의 세 자리 수를 int(input())을 이용해 int형 변수로 입력 받아줍니다. out1은 A와 B의 첫번째 자리수를 곱한 결과를 보여줘야하므로 B의 첫번째 자리수를 만들어주는 계산식인 (A*((B%100)%10))으로 계산하여 A와 곱셈을..
[Python] 백준 알고리즘 10430번 문제풀이 (나머지) www.acmicpc.net/problem/10430 10430번: 나머지 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000) www.acmicpc.net A, B, C = map(int, input().split()); print((A+B)%C, ((A%C)+(B%C))%C, (A*B)%C, ((A%C)*(B%C))%C, sep='\n') A, B, C 변수에 int 타입으로 숫자를 입력받아 각각 저장합니다. 위 문제에서 출력을 보면 첫째줄, 두번째줄.....에 계산식에 맞게 출력되면 되므로, 계산식으로 print함수 안에 넣어줍니다. 이때 sep는 python의 print함수에서 제공하는 매개변수로써 출력될때 구분할 수 있는 구분자라고 생각하시면 됩니다.
[오라클] 프로그래머스 59035번 문제풀이 (역순 정렬하기) programmers.co.kr/learn/courses/30/lessons/59035 코딩테스트 연습 - 역순 정렬하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr // 역순 정렬하기 SELECT NAME, DATETIME from ANIMAL_INS order by ANIMAL_ID desc; 동물 보호소에 들어온 동물의 정보를 담은 ANIMAL_INS 테이블을 select 조회하되, ANIMAL_ID 역순으로 정렬하기 위해 de..