Home

[프로그래머스] 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

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

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/12921 2. 풀이 방법 에라토스테네스의 체 문제를 풀기 위한 개념은 에라토스테네스의 체입니다. 위키백과에서 관련 개념을 확인하실 수 있습니다. 소수인지 확인하기 위한 배열을 생성합니다. 배열의 크기는 n의 최대 숫자인 1000000로 합니다. 2부터 1000000의 제곱근인 1000까지 순차적으로 각 수의 배수를 소수 배열에서 0으로 표기합니다.(소수가 아니라고 판정합니다.) 2~1000 까지의 배수를 소수 배열에서 전부 제거한 후에, 주어진 n까지의 소수를 확인하여 답을 제출합니다. ...

Read more

[프로그래머스] 멀쩡한 사각형 풀이

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/62048# 2. 풀이 방법 x 좌표를 1씩 증가시키면서 x+1 에서의 y 값 올림 - x에서의 y 값 내림 방법으로 문제 해결 후 실패 및 해설 참조 왼쪽 상단과 오른쪽 하단의 꼭지점 2개를 직선을 가지는 최소 크기의 사각형을 구해야 문제 해결 가능. 이를 위하여 gcd를 구함. 왼쪽 상단과 오른쪽 하단의 꼭지점 2개를 지나는 직선을 포함한 최소 크기의 직사각형 왼쪽 상단과 오른쪽 하단의 꼭지점 2개를 지나는 직선은 항상 높이 + 너비 - 1 만큼의 사각형을 지난다. 이유는 아래와 같다....

Read more