본문 바로가기

전체 글

(255)
AWS S3 이미지 업로드 with React 거두절미하고 바로 본론으로 들어가겠다. 우선 https://aws.amazon.com/ko/s3/에 접속해 계정을 생선한다. 계정 생성 후. 버킷 생성에 들어가 이름과 지역을 선택한다. 쭉 내려가다가 "이 버킷의 퍼블릭 엑세스 차단 설정"에서 모든 체크를 해제하고 만들기를 클릭한다. 이제 버킷이 만들어졌으면, 버킷을 하나 클릭한 후, 권한 > 버킷 정책에 { "Version": "2012-10-17", "Statement": [ { "Sid": "PublicListGet", "Effect": "Allow", "Principal": "*", "Action": [ "s3:List*", "s3:Get*" ], "Resource": [ "arn:aws:s3:::Your_Bucket_Name", "arn:aws:..
프로그래머스) 스킬트리-python https://school.programmers.co.kr/learn/courses/30/lessons/49993 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(skill, skill_trees): answer = 0 for i in range(len(skill_trees)): dic = {} isTrue = True for j in range(len(skill)): dic[skill[j]] = 99 if skill[j] in skill_trees[i]: dic[skill[j]] = skill_trees[i].index(skill[..
프로그래머스)주차 요금 계산-python https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import datetime import math def solution(fees, records): answer = [] dic={} dic2={} arr = [] for i in range(len(records)): a = list(records[i].split()) if a[1] not in dic: dic[a[1]] = [a[0],a[2]] else: if a[2] == 'OUT': hm ..
프로그래머스) 압축-python https://school.programmers.co.kr/learn/courses/30/lessons/17684 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(msg): answer = [] number = 27 alpha = { 'A':1,'B':2,'C':3,'D':4,'E':5,'F':6,'G':7,'H':8,'I':9,'J':10,'K':11,'L':12,'M':13,'N':14,'O':15,'P':16,'Q':17,'R':18,'S':19,'T':20,'U':21,'V':22,'W':23,'X':24,'Y':25,'Z':..
프로그래머스 https://school.programmers.co.kr/learn/courses/30/lessons/87390 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(n, left, right): arr = [] for i in range(left,right + 1): a = i // n # 첫번째 자리수 b = i % n if a >= b: arr.append(a + 1) else: arr.append(b + 1) return arr 문제는 약 1시간동안 고민했었다. 코드가 너무 쉬운거 같아서 다른 사람들의 코드를 봤었는데 모두 비슷했..
프로그래머스) k진수에서 소수찾기-python https://school.programmers.co.kr/learn/courses/30/lessons/92335 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명이 좀 불친절했다. 예시를 들어준 436674에서 101이 왜 0P0을 만족할 수 없는지 이해할 수 없었다. 역시나 입출력 예를 확인했고 여전히 이해할 수 없는 채로 문제를 풀었다. def convert_notation(n, base): T = "0123456789ABCDEF" q, r = divmod(n, base) return convert_notation(q, base) + T[r]..
프로그래머스)튜플 -python https://school.programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 from collections import Counter def solution(s): answer = [] s = s.replace('{','') s = s.replace('}','') s = list(s.split(',')) c = Counter(s) sc = sorted(c.items(), key=lambda x:x[1]) for i in range(len(sc)-1,-1, -1): a..
프로그래머스) 괄호 회전하기-python https://school.programmers.co.kr/learn/courses/30/lessons/76502# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def zz(s): stack = [] for j in range(len(s)): if len(stack) == 0: stack.append(s[j]) else: if stack[-1] == '[' and s[j] == ']' : stack.pop() elif stack[-1] == '{' and s[j] == '}' : stack.pop() elif stack[-1] == '(' and s[j..
프로그래머스)[1차] 캐시-python https://school.programmers.co.kr/learn/courses/30/lessons/17680# LRU를 사용해 문제를 풀라는 얘기다. LRU에 대한 자세한 설명은 https://j2wooooo.tistory.com/121 LRU 알고리즘 (Least Recently Used Algorithm) LRU 알고리즘 (Least Recently Used Algorithm) LRU 알고리즘 : 가장 오랫동안 참조되지 않은 페이지를 교체하는 기법 LRU 알고리즘의 자세한 설명에 앞서 간단한 배경 지식을 설명하겠습니다! 페이지 교체 j2wooooo.tistory.com 이쪽 블로그를 참조하면 될 것이다. 처음에 작성한 코드는 무난했다. def solution(cacheSize, cities): ..
프로그래머스)줄 서는 방법-python https://school.programmers.co.kr/learn/courses/30/lessons/12936 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 n명의 사람이 일렬로 줄을 서고 있습니다. n명의 사람들에게는 각각 1번부터 n번까지 번호가 매겨져 있습니다. n명이 사람을 줄을 서는 방법은 여러가지 방법이 있습니다. 예를 들어서 3명의 사람이 있다면 다음과 같이 6개의 방법이 있습니다. [1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1] 사람의 수 n과, 자연수 k가 주어질 때..
프로그래머스)하샤드 수-python https://school.programmers.co.kr/learn/courses/30/lessons/12947 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def h(x): arr = list(str(x)) num = 0 for i in arr: num += int(i) if x % num == 0: return True else: return False def solution(x): return h(x)
프로그래머스)1차 비밀지도- https://school.programmers.co.kr/learn/courses/30/lessons/17681 문제 설명 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다. 지도는 한 변의 길이가 n인 정사각형 배열 형태로, 각 칸은 "공백"(" ") 또는 "벽"("#") 두 종류로 이루어져 있다. 전체 지도는 두 장의 지도를 겹쳐서 얻을 수 있다. 각각 "지도 1"과 "지도 2"라고 하자. 지도 1 또는 지도 2 중 어느 하나라도 벽인 부분은 전체 지도에서도 벽이다. 지도 1과 지도 2에서 모두 공백인 부분..
프로그래머스)햄버거 만들기 -python https://school.programmers.co.kr/learn/courses/30/lessons/133502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(ingredient): answer = 0 stack = [] for i in range(len(ingredient)): stack.append(ingredient[i]) if stack[-4:] == [1,2,3,1]: answer += 1 for _ in range(4): stack.pop() return answer 처음엔 단지 ingredient[i:i+4]까지만 ..
프로그래멋) 기사단원의 무기-python https://school.programmers.co.kr/learn/courses/30/lessons/136798 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def getMyDivisor(n): divisorsList = [] for i in range(1, int(n**(1/2)) + 1): if (n % i == 0): divisorsList.append(i) if ( (i**2) != n) : divisorsList.append(n // i) return len(divisorsList) def solution(number, limit, powe..
프로그래머스) 가장 가까운 같은 글자-python https://school.programmers.co.kr/learn/courses/30/lessons/142086 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 def solution(s): answer = [] dic = {} for i in range(len(s)): if s[i] not in dic: dic[s[i]] = i answer.append(-1) else: a = i - dic[s[i]] answer.append(a) dic[s[i]] = i return answer 처음엔 단순히 for문 두개로 하나씩 검사하려 했지만, 좀 더 짧..