코딩테스트 준비 10

[백준] 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 번째 선수까지..

[코딩테스트 준비] 19532 수학은 비대면강의입니다 python

문제 수현이는 4차 산업혁명 시대에 살고 있는 중학생이다. 코로나 19로 인해, 수현이는 버추얼 학교로 버추얼 출석해 버추얼 강의를 듣고 있다. 수현이의 버추얼 선생님은 문자가 2개인 연립방정식을 해결하는 방법에 대해 강의하고, 다음과 같은 문제를 숙제로 냈다. 다음 연립방정식에서 x와 y의 값을 계산하시오. ax+by = c dx+ey = f 4차 산업혁명 시대에 숙제나 하고 앉아있는 것보다 버추얼 친구들을 만나러 가는 게 더 가치있는 일이라고 생각했던 수현이는 이런 연립방정식을 풀 시간이 없었다. 다행히도, 버추얼 강의의 숙제 제출은 인터넷 창의 빈 칸에 수들을 입력하는 식이다. 각 칸에는 −999$-999$ 이상 999$999$ 이하의 정수만 입력할 수 있다. 수현이가 버추얼 친구들을 만나러 버추얼..

[코딩테스트 준비] 14568 연세대학교 프로그래밍 경시대회 python

문제 2015, 2016년에 이어 2017년에도 연세대학교 교내 프로그래밍 경시대회가 열린다. 택희, 영훈이, 남규는 열심히 문제를 만들었고, 이에 대한 보상으로 과사로부터 사탕 N개를 받았다. N개의 사탕을 적절히 나눠 가지기 위해 토론한 결과, 아래와 같은 방식으로 사탕을 나누기로 결정하였다. 남는 사탕은 없어야 한다. 남규는 영훈이보다 2개 이상 많은 사탕을 가져야 한다. 셋 중 사탕을 0개 받는 사람은 없어야 한다. 택희가 받는 사탕의 수는 홀수개가 되어서는 안 된다. 이제 사탕을 적절히 나누어 집에 돌아가던 중, 택희는 위와 같은 규칙을 만족하도록 세 명에게 사탕을 나누어 주는 방법의 수가 궁금해졌다. 사탕의 개수 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라는 행동 등을 합니다. 즉, 이렇게 실생활에서 속성과 행동을 가지고 있는 모든 것은 객체라고 부를 수 있습니다. 객체 지향 프로그래밍 그렇다면 객체 지향 프로그래밍이란 무엇일까요? 객체지향 프로그래밍은 프로그램을 여러 독립된..