알고리즘 이야기
-
[PCCE 모의고사 2] 10번 문제 해설알고리즘 이야기/프로그래머스 2022. 11. 9. 12:55
https://school.programmers.co.kr/learn/courses/15007/lessons/121682 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - [PCCE 모의고사 2] 10번 문제 문제 설명 머쓱이는 '생명 게임'이라고 알려진 프로그램을 만들려고 합니다. 생명 게임은 2차원 보드에서 이루어지며, 각각의 칸은 0이 저장된 죽은 칸이거나 1이 저장된 살아있는 칸입니다. 이때 자기 자신의 값과 주변 이웃한 칸들의 값에 따라 다음 세대에서 각 칸의 값이 정해집니다. 머쓱이가 만든 생명 게임의 규칙은 다음과 같습니다. 살아있는 칸 주변..
-
[PCCE 모의고사 1] 10번 문제 해설알고리즘 이야기/프로그래머스 2022. 11. 3. 08:35
https://school.programmers.co.kr/learn/courses/15006/lessons/121431 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - [PCCE 모의고사 1] 10번 문제 문제 설명 애너그램(Anagram) 이란 주어진 단어를 이루는 문자의 위치를 뒤바꾸어 새로운 단어를 만드는 것을 말합니다. 애너그램을 이용해 암호화, 복호화를 하려고합니다. 암, 복호화할 단어와 애너그램 테이블이 주어집니다. 애너그램 테이블은 단어를 암호화한 후의 문자들의 위치가 저장되어 있습니다. 예를들어 문자열 "Hello"를 암호화 할 때, 애..
-
[PCCE 모의고사 1] 2번 문제 해설알고리즘 이야기/프로그래머스 2022. 11. 2. 11:30
https://school.programmers.co.kr/learn/courses/15006/lessons/121337 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - [PCCE 모의고사 1] 2번 문제 문제 설명 문제 설명 정수가 담긴 변수 num이 주어졌을 때, num의 값이 양수인지, 0인지, 음수인지 판별하는 프로그램을 만들려고 합니다. 프로그램이 올바르게 작동하도록 빈칸을 채워주세요. num이 양수인 경우 "양수입니다"가 출력됩니다. num이 0인 경우 "0입니다"가 출력됩니다. num이 음수인 경우 "음수입니다"가 출력됩니다. 제한사항 -2..
-
[PCCE 모의고사 1] 1번 문제 해설알고리즘 이야기/프로그래머스 2022. 11. 2. 09:53
https://school.programmers.co.kr/learn/courses/15006/lessons/121336 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - [PCCE 모의고사 1] 1번 문제 문제 설명 초기 코드는 정수 num1과 num2를 합한 값을 출력하는 코드입니다. print(num1 + num2)의 출력 결과가 300이 되도록 한 줄을 수정해 보세요. (위 코드 에디터의 '▶' 버튼을 눌러 코드를 실행해 보세요! 오른쪽 콘솔창을 통해 코드의 실행 결과를 볼 수 있습니다.) - [PCCE 모의고사 1] 1번 해설 이 문제는 파이썬 ..
-
파이썬 - 산술, 기하 그리고 조화 평균알고리즘 이야기/파이썬 3 2020. 1. 15. 19:43
평균의 종류 - 산술 평균 항목들을 다 더해서 항목의 길이(개수)로 나누는 것. 기하 평균 항목들을 다 곱한 것에 항목의 길이(개수)의 제곱근을 취하는 것. 조화 평균 주어진 수들의 역수의 산술 평균의 역수! 으악! - 입력받은 a, b, c의 평균들을 구하는 코드 1 2 3 4 5 6 7 8 9 10 11 12 a = int(input()) b = int(input()) c = int(input()) AM = (a+b+c) / 3 # 산술 평균 Arithmetic Mean print("산술 평균 =", AM) GM = (a*b*c) ** (1/3) # 기하 평균 Geometric Mean print("기하 평균 =", GM) HM = 3 / ((1/a)+(1/b)+(1/c)) # 조화 평균 Harmon..
-
파이썬 - 여러 수의 최소공배수 구하기알고리즘 이야기/파이썬 3 2019. 12. 19. 23:45
저번에 유클리드 호제법으로 최대공약수를 구했지! 이번에는 최대공약수를 가지고 두 수의 최소공배수부터 여러 수의 최소공배수를 구해볼거야! 아, '최소공배수 最小公倍數'는 LCM이라고도 하는데 Lowest Common Multiple의 약자로 쓰여. 최소공배수를 구하는 방법 또한 여러가지가 있겠지만 우리는 두 수의 최대공약수를 구하는 방법을 알아냈으니까 최대공약수를 이용해서 구해볼거야. 먼저 두 수의 최소공배수를 알아볼까? 최대공약수만 알고 있으면 넘나리 쉽게 구할 수 있어! 두 수를 곱해서 최대공약수로 나누면 그게 최소공배수지! 엄청 간단하지? A와 B의 최소공배수 = A X B ÷ A와 B의 최대공약수 그럼 여러 수의 최소공배수는 어떻게 구할 수 있을까? 여러 수의 최대공약수를 구할 때 처럼, 일단 아무..
-
파이썬 - 여러 수의 최대공약수 구하기알고리즘 이야기/파이썬 3 2019. 12. 19. 02:35
여러 수의 최대 공약수를 구하기 위한 여러 가지 방법이 있겠지만! 그중에서도 가장 효율적이라고 생각되는 유클리드 호제법에 대해 알아볼게! '유클리드 호제법 互除法' 또는 '유클리드 알고리즘 Euclidean algorithm'이란 두 자연수의 최대공약수를 구하는 알고리즘이야. 유클리드는 그 유명한 그리스의 수학자! 그분 맞아. 기원전 300년 전에 태어나신 그분 말이야! 아, 호제법이란, 말 그대로 '서로 호(互)'자와 '덜 제(除)'자를 써서 '서로 나누어 없애는 방법'이라고 생각하면 돼. 아직 무슨 말인지 모르겠지? 말로 백 번 설명하는 것보다 아래의 동영상을 보는 것이 훨씬 더 이해가 잘 될 텐데.. 동영상을 보기 전에 '%'라는 기호에 대해 알고 보아야 돼. '%'는 보통 '퍼센트'라고 해서 '백..