[Ubuntu] Cloud9 설치 에러
[Ubuntu] Cloud9 설치 에러
2020.10.13apt install node-pre-gyp 해당 패키지를 설치하면 된다. pental.tistory.com/83?category=834154 [Ubuntu] Cloud9 설치하기 Ubuntu에 Cloud9 설치하기. 필자의 조건 Ubuntu 16.04 # apt-get update # apt-get upgrade # apt-get install git Git 설치 # git clone https://github.com/c9/core.git [저장폴더] ex) git clone https://gith.. blog.system32.kr
[프로그래머스] 행렬의 합
[프로그래머스] 행렬의 합
2020.10.12def solution(arr1, arr2): result = [] temp = [] for i in range(len(arr1)): for j in range(len(arr1[i])): temp.append(arr1[i][j] + arr2[i][j]) result.append(temp) temp = [] return result for문에서 사실 애먹었다;; for i in range(len(arr1)): #arr1의 요소 2개 (2번 돈다.) for j in range(len(arr1[i)) # arr1의 요소 안의 요소 temp.append(arr1[i][j] + arr2[i][j] result.append(temp) temp = []#요소를 묶기 위해
[프로그래머스] 두 개 뽑아서 더하기
[프로그래머스] 두 개 뽑아서 더하기
2020.10.12def solution(numbers): numbers = sorted(numbers) result = [] for i in range(len(numbers)): for j in range(i + 1, len(numbers)): result.append(numbers[i] + numbers[j]) print(result) result = set(result) print(result) result = list(result) return (result) 처음 시도는 result를 list로 놓고, 5번을 도는 동안, i+1에서는 i값과 j값을 동시에 추가한다. 하지만 이 방법은 실패로 돌아갔고, set을 미리 지정해 주어야한다. def solution(numbers): numbers = sorted(numb..
[프로그래머스] 이상한 문자 만들기
[프로그래머스] 이상한 문자 만들기
2020.10.12def solution(s): s = s.split() temp = [] for i in s: idx = 0 for j in i: if idx % 2 == 0: temp.append(j.upper()) print(idx, j.upper()) else : temp.append(j.lower()) idx += 1 temp.append(" ") temp.pop() print(temp) print("".join(temp)) idx를 사용해서, idx의 위치에 맞는 문자를 대소문자로 변경해준다.
[프로그래머스] 정수 제곱근 판별
[프로그래머스] 정수 제곱근 판별
2020.10.11def solution(n): import math num = math.sqrt(n) if math.sqrt(n) == int(math.sqrt(n)) : #정수값이 나온다 => 제곱근의 존재 return pow(num+1, 2) #num+1 * num+1 return -1
[프로그래머스] 자연수 뒤집어 배열로 만들기
[프로그래머스] 자연수 뒤집어 배열로 만들기
2020.10.11def solution(n): return list(map(int, reversed(str(n)))) map에 대해서 자세히 공부하자
[프로그래머스] 정수 내림파순으로 배치하기
[프로그래머스] 정수 내림파순으로 배치하기
2020.10.11def solution(n): print(n) a = list(str(n)) # a라는 변수를 지정해, n의 값들을 list형태로 저장 print(a) # ['1', '1', '8', '3', '7', '2'] intList = list(map(int, a)) #intList라는 리스트를 지정해, str형태의 원소를 int형태로 지정 print(intList) #[1, 1, 8, 3, 7, 2] intList.sort(reverse=True) print(intList) #[8, 7, 3, 2, 1, 1] a = ''.join(map(str,intList)) #join을 사용하기 위해서는 다시 str형태로 지정해야한다. return int(a)
[프로그래머스] 시저 암호
[프로그래머스] 시저 암호
2020.10.11def solution(s, n): answer = [] for i in s: if i.isalpha(): if( 65 122: result = ord(i) + n - 26 answer.append(chr(result)) else : result = ord(i) + n answer.append(chr(result)) else: answer.append(' ') print(answer) return ''.join(answer)
[프로그래머스] 소수 찾기
[프로그래머스] 소수 찾기
2020.10.10def solution(n): count = 0 for i in range(1, n+1): temp_cnt = 0 for j in range(1,i+1): if i % j ==0: temp_cnt +=1 if temp_cnt == 2: count += 1 return count
[프로그래머스] K번째수
[프로그래머스] K번째수
2020.10.10def solution(array, commands): result = [] for i in commands: print(i) i_i = i[0] j_j = i[1] k_k = i[2] temp = array[int(i_i)-1:int(j_j)] temp = sorted(temp) result.append(temp[k_k-1]) return result 그냥 슬라이싱을 이용하는 문제이다. def solution(array, commands): return list(map(lambda x:sorted(array[x[0]-1:x[1]])[x[2]-1], commands)) 이렇게도 할수 있다...
[프로그래머스] 약수의 합
[프로그래머스] 약수의 합
2020.10.10def solution(n): result = 0 for i in range(1, n+1): if n % i == 0: result += i return result 약수를 result 에 계속 더한다.
[프로그래머스] 짝수와 홀수
[프로그래머스] 짝수와 홀수
2020.10.10def solution(num): if num % 2 == 0: return "Even" else : return "Odd" 기본 문제이다.
[프로그래머스] 최대공약수와 최소공배수
[프로그래머스] 최대공약수와 최소공배수
2020.10.10def solution(n, m): def gcd(x,y): while(y): x,y = y, x%y return x def lcm(x,y): result = (x*y)//gcd(x,y) return result x = gcd(n,m) y = lcm(n,m) return (x,y) 유클리오 호제법을 이용한 방법이다.
[프로그래머스] x만큼 간격이 있는 숫자
[프로그래머스] x만큼 간격이 있는 숫자
2020.10.09def solution(x, n): result = [] for i in range(1,n+1): result.append(x * i) return result
[프로그래머스] 제일 작은수 제거하기
[프로그래머스] 제일 작은수 제거하기
2020.10.09def solution(arr): if arr[0] == 10 : return [-1] else : temp = min(arr) result = arr.remove(temp) return arr min 함수를 통해서 리스트의 최소 값을 구하고, remove 함수를 통해 최소 값을 제거한다.
[프로그래머스] 평균 구하기
[프로그래머스] 평균 구하기
2020.10.09def solution(arr): temp = 0 num = len(arr) for i in arr : temp += i return temp / num
[프로그래머스] 핸드폰 번호 가리기
[프로그래머스] 핸드폰 번호 가리기
2020.10.09문제에서는 문자열 s가 주어지고, 뒷 4자리를 제외한 문자들을 *로 처리한다. def solution(phone_number): temp = len(phone_number) return '*' * (temp - 4) + phone_number[temp-4:] 먼저 문자열의 길이를 파악하고, *의 개수를 temp - 4로 정해, 마지막 4자리를 제외한 나머지 문자열을 *로 변환한다. 그후 슬라이싱을 이용해 뒷 4자리를 추가해 준다.
[프로그래머스] 나누어 떨어지는 숫자 배열
[프로그래머스] 나누어 떨어지는 숫자 배열
2020.10.09def solution(arr, divisor): result = [] count = 0 Fail = [-1] for i in arr : if i % divisor == 0 : result.append(i) else : count += 1 print(count) if len(arr) == count : return Fail return sorted(result) 먼저 원소중 divisor로 나눠지는 것들을 result 리스트에 담고, 그렇지 않다면 count의 개수를 증가시킨다. 그후, 원소의 개수와 count의 개수가 같다면, 나누어지는것들이 없다는 뜻이기에 -1을 반환한다.
[프로그래머스] 문자열 내 p와 y의 개수
[프로그래머스] 문자열 내 p와 y의 개수
2020.10.09def solution(s): p = s.count('p') P = s.count('P') P_num = p + P y = s.count('y') Y = s.count('Y') Y_num = y + Y if P_num == Y_num : return True else : return False count 함수를 통해 p와 P, y와 Y의 개수를 찾고, 조건식을 이용해 결과값을 반환한다.
[프로그래머스] 2016년
[프로그래머스] 2016년
2020.10.07def solution(a, b): from datetime import date Month = a Day = b week = ['MON','TUE','WED','THU','FRI','SAT','SUN'] result = week[date(2016,Month,Day).weekday()] return result 다른 사람들의 풀이를 보니 사전을 이용하는 방법도 있다. def getDayName(a,b): day_name = ['THU', 'FRI', 'SAT', 'SUN', 'MON', 'TUE', 'WED'] month_dict = { "1":31, "2":29, "3":31, "4":30, "5":31, "6":30, "7":31, "8":31, "9":30, "10":31, "11":30, "12"..