파이썬 9

[백준] 1978 소수찾기 Python

문제주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오입력첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.출력주어진 수들 중 소수의 개수를 출력한다.예체 입출력답안n = int(input())answer = 0if n1000: continue for i in range(1,int(num**0.5)+1): if num%i==0: div_num+=1#약수 개수 +1 if div_num==1: answer+=1print(answer)

[백준] 15736 청기백기

문제소프트웨어융합대학 학생회에서 주최한 소융체전에서 청기 백기 뒤집기 게임이 한창이다. 소프트웨어학부, ICT융합학부가 번갈아가면서 게임을 진행하는 중이다. 게임의 규칙은 간단하다. 게임을 진행할 차례인 학부에서 출전한 선수들 N명이 존재한다. 학생들의 앞 탁자에는 N개의 깃발이 청색이 위로 백색이 아래로 보이도록 놓여있다. 이때 출전한 선수 중 첫 번째 선수는 N개의 깃발 중 1의 배수에 해당하는 번호의 깃발을 뒤집어 놓는다. 다음 두 번째 선수는 N개의 깃발 중 2의 배수에 해당하는 번호의 깃발을 뒤집어 놓는다. i 번째 선수는 i의 배수에 해당하는 번호의 깃발을 뒤집고, N 번째 선수까지 진행하면 끝이 난다. 그렇다면 이 게임에서 N 명의 선수가 참가하고 N개의 깃발이 존재할 때, N 번째 선수까지..

[코딩테스트 준비] 1816번 암호 키 python

문제 현대 사회에서 통용되고 있는 많은 종류의 암호 시스템에서는, 매우 큰 소수의 곱으로 만들어진 수를 암호 키로 이용하는 경우가 많다. 현실적으로 매우 큰 수를 빠른 시간 내에 소인수분해하는 것은 어려운 일이기 때문이다. 물론 실제 생활에서는 수십만 또는 수백만 자리 이상의 매우 큰 소수가 활용되지만 그러한 소수를 구하는 것은 매우 어려운 일이므로, 우리는 좀 더 스케일이 작은 경우에 대해서만 생각해 보기로 하자. 1,000,000=106보다 큰 소수이면 매우 큰 소수로 생각하는 것이다. 어떤 수 S가 주어지면, 이 수가 우리가 생각하는 스케일이 작은 경우에서 적절한 암호 키인지 아닌지를 구하는 프로그램을 작성하시오. 만일 S의 모든 소인수가 106보다 크다면 그 수는 적절한 암호 키이고, 그렇지 않은..

[알고리즘] 재귀 알고리즘

안녕하세요, 오랜만에 알고리즘 포스팅으로 돌아왔습니다! 이제 공채시즌인 만큼 코딩테스트를 준비하다보니 이렇게 알고리즘 글을 올리게 되었어요ㅎㅎ 우리 모두 공부 열심히 해서 원하는 기업합격해요:) 재귀 알고리즘 재귀 알고리즘이란 하나의 함수에서 자신을 다시 호출하여 작업을 수행하는 것을 말합니다. 실생활에서의 문제를 해결하기 위해 재귀 알고리즘이 많이 사용됩니다. 간단한 구현을 통해 재귀 알고리즘에 대해 알아보겠습니다. 피보나치 순열에 대해 아시나요? 피보나치 순열이란, F0 = 0, F1 = 1, F2 = F0+F1, ... ,Fn = Fn-2+Fn-1 형태로 흘러가는 순열을 말합니다. 이 순열을 간단하게 재귀함수로 구현해보겠습니다. def fb_re(x): if x == 0: return 0 elif ..

[백준] 10952번 python

문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 입력의 마지막에는 0 두 개가 들어온다. 출력 각 테스트 케이스마다 A+B를 출력한다. 답안 while True: # numbers = "1 1" numbers = input() if numbers == "0 0": break num1,num2 = numbers.split(" ") print(int(num1) + int(num2))

[알고리즘] 선형 배열(파이썬)

배열 선형 배열을 알기 위해선 우선 배열에 대해 알아야 합니다. 배열이란 같은 종류의 데이터가 줄지어 들어간 것을 말합니다. 배열은 순서에 따라 원소들을 늘어놓은 것을 말합니다. 그렇기 때문에, 파이썬에서는 순서가 있는 데이터 타입인, 리스트를 배열로 사용합니다. 선형 배열 배열의 의미를 알면 선형 배열은 굉장히 쉽습니다. 선형 배열이란, 선 즉 일렬로 늘어져있는 배열을 의미합니다. 위에서 배열은 순서가 있는 데이터 타입이라고 했습니다. 그렇다면 선형 배열은 마치 맛집에서 줄서서 기다리듯이 일렬로 늘어져, 순서가 있는 데이터를 의미합니다. 선형 배열 이용하기 선형 배열을 사용하면, 많은 것들을 할 수 있습니다. 1. 원소 덧붙이기 우선 다음과 같은 선형 배열이 있습니다. 여기서, 프로그래머스 뒤에 'ne..

[백준] 11382 꼬마 정민(python)

문제 꼬마 정민이는 이제 A + B 정도는 쉽게 계산할 수 있다. 이제 A + B + C를 계산할 차례이다! 입력 첫 번째 줄에 A, B, C (1 ≤ A, B, C ≤ 1012)이 공백을 사이에 두고 주어진다. 출력 A+B+C의 값을 출력한다. 예제 입력 1 77 77 7777 예제 출력 1 7931 답안 input = input() # input = "77 77 7777" a,b,c = input.split(" ") a = int(a) b = int(b) c = int(c) print(a+b+c) 파이썬의 input함수는 string 형식으로 받아온다는 특징이 있다. 문제에서 공백을 두고 세 숫자가 주어진다고 했기 때문에, 공백을 기준으로 split 해준다. 그 후, 각 숫자들을 int형으로 변경한다..

[파이썬 기초] 객체 지향 프로그래밍의 이해

파이썬은 객체지향 프로그래밍 언어라고 많이 알려져 있습니다. 그렇다면, 객체 지향 프로그램이라는 것은 무엇인지 간단한 정의를 통해 알아보도록 하겠습니다! 객체란? 객체는 흔히 속성과 행동을 합한 것을 말합니다. 우리가 살아가면서 보는 모든 존재를 객체라고 부를 수 있습니다. 예를 들어 보겠습니다. 우리가 생활에서 제일 많이 사용하는 스마트폰도 객체입니다. 스마트폰은 네모난 모양이고, 한 손에 들어오는 크기라는 속성이 있습니다. 우리는 스마트폰을 사용하여 전화라는 행동을 하고, SNS라는 행동 등을 합니다. 즉, 이렇게 실생활에서 속성과 행동을 가지고 있는 모든 것은 객체라고 부를 수 있습니다. 객체 지향 프로그래밍 그렇다면 객체 지향 프로그래밍이란 무엇일까요? 객체지향 프로그래밍은 프로그램을 여러 독립된..

[공경진] 음성에 감정 넣기 프로젝트 일지① : Anaconda 설치

OS : window 11 HOME 졸업 프로젝트 중, 지능시스템에서 진행했던 음성 변환 프로젝트를 발전시켜, 교내 공학경진대회에 참가하기로 했다. 이제, 새로운 프로젝트 일지를 작성하게 되었다. Anaconda 설치하기 다음 사이트에 들어가, 자기 OS에 맞는 oracle을 깔면 된다. https://www.anaconda.com/download Free Download | Anaconda Anaconda's open-source Distribution is the easiest way to perform Python/R data science and machine learning on a single machine. www.anaconda.com 이렇게 셋업 창이 뜬다. next 누르고 다음창에서 동..