전체 글 47

신입 개발자 면접 준비 -백엔드 직무

Rest api 란 ? http uri를 통해 자원을 명시하고 http method를 통해 해당 자원에 대한 crud 작업을 적용하는 것 특징: 서버- 클라이어트 구조 이다. stateless 여서 클라이언트의 상태를 서버에 저장하지 않는다. api 서버는 단순히 클라이어트의 요청만 처리 (이전 요청과 연관되지 않는다.) 캐시처리 가능 ⇒ 응답시간이 빨라지고 rest server 트랜잭션이 발생하지 않아 전체 응답시간, 성능 ,서버의 자원 이용률을 향상시킨다. 계층화 → rest server는 다층 계층으로 (api server , 보안, 로드밸런싱, 암호화 , 사용화 인증 등 추가) 인터페이스 일관성 → uri로 지정한 자원에 대한 조작이 통일되었다. 구성요소: 자원 (uri) / 행위(http met..

면접 2021.12.27

프로그래머스 등굣길 비트 (파이썬 풀이)

https://programmers.co.kr/learn/courses/30/lessons/42898?language=python3 코딩테스트 연습 - 등굣길 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m = programmers.co.kr 내가 한 풀이 def solution(m, n, puddles): answer = 0 puddle=[[p,q] for [q,p] in puddles] dp=[[0 for _ in range(m+1)]for _ in range(n+1)] dp[1][1]=1 for i in range(1,n+1): for j in range..

코테 공부 2021.12.07

프로그래머스 2개 이하로 다른 비트 (파이썬 풀이)

https://programmers.co.kr/learn/courses/30/lessons/77885?language=python3 코딩테스트 연습 - 2개 이하로 다른 비트 programmers.co.kr 내가 한 풀이 def solution(numbers): answer = [] for number in numbers: bin_number = list('0' + bin(number)[2:]) idx = ''.join(bin_number).rfind('0') bin_number[idx] = '1' #홀수일땐 idx의 다음 숫자를 0으로 바꿔준다. if number%2!=0: bin_number[idx+1]='0' answer.append(int("".join(bin_number),2)) return a..

코테 공부 2021.12.03

유튜브 영어 회화 공부하기 (Youglish)

영어 회화 공부를 하다보면 실제로 현지인들이 이 단어나 문장을 사용하는지 빈도나 활용법이 궁금할때가 있다. 그럴때마다 종종 이용하는 유용한 사이트이다. 사이트 주소 Improve Your English Pronunciation When words sound different in isolation vs. in a sentence, look up the pronunciation first in a dictionary, then use https://youglish.com youglish.com 이용방법 사이트에 접속하면 이런 심플한 화면을 볼 수 있다. 원하는 단어나 문장을 검색창에 입력 후 "Say it!" 버튼을 누른다. 검색을 하면 이러한 이러한 결과가 나타나는데 입력한 단어나 문장을 이용한 유튜브 ..

정보 2021.12.03

프로그래머스 보석 쇼핑 (파이썬 풀이)

https://programmers.co.kr/learn/courses/30/lessons/67258?language=python3 코딩테스트 연습 - 보석 쇼핑 ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7] programmers.co.kr 내가 한 풀이 def solution(gems): answer = [] start,end=0,0 short=len(gems)+1 category=len(set(gems)) bag={} while endend-start: short=end-start answer=[start+1,end] break else: break return answer 투포인터 알고리즘을 이용해 배열의 처음부..

코테 공부 2021.12.01

프로그래머스 이중우선순위큐 (파이썬 풀이)

https://programmers.co.kr/learn/courses/30/lessons/42628?language=python3 코딩테스트 연습 - 이중우선순위큐 programmers.co.kr 내가 한 풀이 import heapq def solution(operations): answer = [] heap=[] for o in operations: o=o.split() if o[0]=='I': num=int(o[1]) heapq.heappush(heap,num) else: if len(heap)==0: pass elif o[1]=='-1': heapq.heappop(heap) elif o[1]=='1': heap = heapq.nlargest(len(heap), heap)[1:] heapq.heap..

코테 공부 2021.11.30

프로그래머스 괄호 회전하기 (파이썬 풀이)

https://programmers.co.kr/learn/courses/30/lessons/76502?language=python3 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr 내가 한 풀이 from collections import deque def is_ok(s): d={ ')':'(', '}':'{', ']':'[' } stack=[] for c in s: if c in '([{': stack.append(c) elif c in ')]}': if stack: top=stack.pop() if d[c]!=top: return False else: return False return len(stack)==0 def solution(s): answer = 0 q=deque(s) fo..

코테 공부 2021.11.28

백준 [7576] 토마토 (파이썬 풀이)

https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 내가 한 풀이 from collections import deque dx,dy=[0,1,0,-1],[1,0,-1,0] r,c=map(int,input().split()) road=[list(map(int,input().split())) for _ in range(c)] day=0 queue=deque([]) for i in range(c): for j in range(r): if ..

코테 공부 2021.11.24

백준 [17413] 단어 뒤집기 2 (파이썬 풀이)

https://www.acmicpc.net/problem/17413 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net 내가 한 풀이 s,tmp=input(),"" ck=False for i in s: if i==" ": if not ck: print(tmp[::-1],end=" ") tmp="" else: print(" ",end="") elif i =="",end="") tmp="" else: if ck: #꺽새 안에 있는 문자라면 그대로 출력 print(i,end="") els..

코테 공부 2021.11.23

백준 [16675] 두 개의 손 (파이썬 풀이)

https://www.acmicpc.net/problem/16675 16675번: 두 개의 손 첫 번째 줄에 차례로 ML, MR, TL, TR이 공백으로 구분되어 주어진다. 차례대로 민성이의 왼손과 오른손, 태경이의 왼손과 오른손의 상태를 나타낸다. 위 4개의 값들은 “S”, “R”, “P” 중 하나이 www.acmicpc.net 내가 한 풀이 ml,mr,tl,tr=('SPR'.index(i) for i in input().split(" ")) if ml==mr and (ml+2)%3 in [tl,tr]: print('TK') elif tl==tr and (tl+2)%3 in [ml,mr]: print('MS') else: print("?")

코테 공부 2021.11.23