Home

[프로그래머스] 소수찾기 풀이

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/42839 2. 풀이 2.1. 에라토스테네스의 체와 permutation을 이용한 풀이 먼저 에라토스테네스의 체를 이용하여 최대 숫자로 가능한 9999999 까지 소수를 저장합니다. 최대 7개의 숫자를 permutation을 각 자리수마다 수행하여 모든 나올 수 있는 수를 생성합니다. 이 숫자를 소수인지 아닌지 확인하고 set에 추가합니다. 최종적으로 set의 원소의 개수를 확인하여 정답으로 출력합니다. from itertools import permutations def solution(...

Read more

[Error solve] apt-get update Hash sum mismatch error

1. Problem When you install something on your linux or ubuntu, you can see this error message that cannot install on your computer. root@Desktop:/mnt/c/Users$ sudo apt --fix-missing update Hit:1 http://security.ubuntu.com/ubuntu bionic-security InRelease Hit:2 http://kr.archive.ubuntu.com/ubuntu bionic InRelease Hit:4 http://kr.archive.ubuntu....

Read more

[프로그래머스] JadenCase 문자열 만들기 풀이

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/12951 2. 풀이 방법 문제 자체는 간단한데, 2개 이상의 공백에 대한 처리를 해주어야 된다는 것이 이 문제를 많이 틀리는 이유입니다. 3. 소스코드 def solution(s): answer = s[0].upper() s = s.lower() for i in range(1, len(s)): put_val = s[i] if s[i-1] == ' ' and s[i].isalpha(): put_val = s[i].upper() ...

Read more

[프로그래머스] 가장 큰 수 풀이

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/42746 2. 풀이 방법 저는 문제 해결 방법을 잘 못 잡아서 문제를 해결하지 못하여 해설을 보았습니다. 풀이는 크게 2가지로 보여지고, 하기 소스코드에 풀이 별로 설명해놓았습니다. 3. 소스코드 3.1. 비교 문자열 2개를 연결하여 비교하는 방식 두 숫자 중에서 앞으로 나가야 될 숫자를 선택하려면, string으로 변환한 a와 b를 연결한 a+b, b+a 를 다시 number로 변환하여 중에서 더 큰 숫자를 가지는 순서대로 정렬하면 됩니다. 위의 문제 풀이 방법을 가장 적절하게 사...

Read more

[프로그래머스] 124 나라의 숫자 풀이

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/12899 2. 풀이 방법 처음에 이 문제를 풀었을 때 헷갈렸던 점은 3진법을 그대로 숫자만 변형하면 된다고 생각했던 것입니다. 하지만, 실제로는 3진법의 풀이와 매우 다릅니다. 9은 3진법으로 100이지만, 124 나라에서는 24입니다. 각 자리 숫자는 3개, 9개, 3^3개 와 같은 3의 n제곱 개수 만큼 가지고 있습니다. 3의 제곱수(0, 3, 9 ….) 만큼 for문을 수행합니다. 1의 자리부터 시작하여 3의 나머지 연산을 통하여 0, ...

Read more

[프로그래머스] 주식가격 풀이

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/42584 2. 풀이 방법 2중 for문을 이용하여 뒤에 있는 요소 중, 가격이 줄어드는 요소를 확수 있습니다. Stack(작은 숫자가 아래있고 위로 같거나 큰 숫자가 쌓이는 구조)을 이용하여 문제를 해결할 수 있습니다. 자세한 풀이는 하기에서 계속됩니다. 3. 소스코드 3.1. 2중 for문을 이용한 $ O(n^{2}) $ 방법으로 풀기 def solution(prices): answer = [0] * len(prices) for i in range(len(prices)-...

Read more

pip package install SSL 인증서 Error 해결 (error: [SSL: CERTIFICATE_VERIFY_FAILED])

1. 증상 및 원인 pip를 이용하여 원하는 패키지를 설치하려고 하면, 아래와 같은 에러가 발생할 수 있습니다. 주로 인트라넷을 사용하는 경우 아래와 같은 문제가 많이 발생합니다. 아래와 같은 에러가 발생하는 이유는 각 회사 컴퓨터에는 신뢰할 수 있는 루트 인증 기관을 가지고 있게 되는데, 인증 기관으로 python을 설치하기 위한 도메인을 포함하지 않은 경우에 이런 에러가 발생할 수 있습니다. $ pip install linkchecker Downloading/unpacking linkchecker Getting page https://pypi.python.org/simple/linkchecker/ C...

Read more

[프로그래머스] 같은 숫자는 싫어 풀이

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/12906 2. 풀이 방법 이전 단어와 비교하여 다를 경우에는 정답 배열에 추가해주는 소스코드를 아래와 같이 간단하게 짜면 됩니다. 3. 소스코드 3.1. 내 풀이 def solution(arr): answer = [arr[0]] before_word = arr[0] for x in arr[1:]: if before_word != x: before_word = x answer.append(x) return ...

Read more

[프로그래머스] 문자열 내 p와 y의 개수 풀이

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/12916 2. 풀이 방법 단순하게 주어진 string의 문자열에 포함된 알파벳의 개수를 확인하고 if문을 통하여 return 합니다. 3. 소스코드 3.1. 내 풀이 def solution(s): if s.count('p') + s.count('P') == s.count('y') + s.count('Y'): return True return False

Read more

[프로그래머스] 두 정수 사이의 합 풀이

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/12912 2. 풀이 방법 연속된 숫자의 합을 구하는 공식을 사용하면 손쉽게 해결할 수 있습니다. 3. 소스코드 3.1. 내 풀이 def solution(a, b): if a> b: a , b = b, a answer = (a + b) / 2 * (b - a + 1) return int(answer)

Read more