일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 취업리부트코스
- @FeignClient
- Python
- 코딩테스트 준비
- DesignPattern
- 항해99
- 빈 충돌
- JavaScript
- 디자인 패턴
- KPT회고
- 99클럽
- 1주일회고
- TiL
- 인프콘 2024
- jwttoken
- 파이썬
- 전략패턴 #StrategyPattern #디자인패턴
- infcon 2024
- 개발자부트캠프추천
- jwt
- 단기개발자코스
- Spring multimodule
- 프로그래머스 이중우선순위큐
- spring batch 5.0
- 개발자 취업
- 프로그래머스
- 디자인패턴
- 구글 OAuth login
- 빈 조회 2개 이상
- 커스텀 헤더
- Today
- Total
목록분류 전체보기 (192)
m1ndy5's coding blog
https://www.acmicpc.net/problem/1406 왜 이문제가 실버 2일까~~ 했더니만 역시나 시간초과!!ㅎㅎ import sys s = sys.stdin.readline().rstrip() c = len(s) n = int(sys.stdin.readline().rstrip()) for i in range(n): com = sys.stdin.readline().rstrip() if ' ' in com: com, letter = com.split() if com == 'L': if c != 0: c -= 1 elif com == 'D': if c != len(s): c += 1 elif com == 'B': if c != 0: c -..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/caoHI8/btr5h95ajHf/WtwG5TX0TzITp0VGGAEZ5K/img.png)
https://www.acmicpc.net/problem/1935 이 문제는 먼저 코드를 보기전에 후위 표기식이란 무엇인지를 알아야한다. 예를 들어 (A+B) * 2 + B/C 라는 식을 트리 형식으로 나타내보자. 이런 형식이 될 것이고 후위 표기식은 left => right => center 순으로 읽으면 된다. 따라서 위 식을 후위 표기식으로 표현하면 A B + 2 * B C / + 가 된다. 반대로 후위 표기식으로 표현된 식을 계산하는 방법은 숫자일 때는 스택에 push하고 연산자가 나오면 숫자 두개를 pop해 연산을 진행한 후 다시 스택에 push하는 것이다. 이 때 중요한 것이 +나 * 는 상관없지만 -나 / 같은 경우 뒤의 숫자가 먼저 나오므로 순서에 유의하여 문제를 풀어야한다. import ..
https://www.acmicpc.net/problem/10773 import sys k = int(sys.stdin.readline().rstrip()) stack = [] s = 0 for i in range(k): n = int(sys.stdin.readline().rstrip()) if n == 0: p = stack.pop() s -= p else: stack.append(n) s += n print(s)0이 들어오면 pop하고 sum에서도 빼주는 것이 키포인트였다.
https://www.acmicpc.net/problem/9012 import sys stack = [] def push(num): stack.append(num) def pop(): if len(stack) == 0: return -1 n = stack.pop() return n n = int(sys.stdin.readline().rstrip()) for i in range(n): s = sys.stdin.readline().rstrip() stack = [] for ch in s: if ch == '(': push(1) if ch == ')': result = pop() if result == -1: stack.append(1) break if len(stack) == 0..
https://www.acmicpc.net/problem/10828 왜 이문제가 실버지..? 했는데 input()으로는 시간초과가 나는 문제였다. input() 대신 sys.stdin.readline().rstrip() 을 사용하면 시간초과가 해결되는 문제였다. 참고로 sys.stdin.readline()을 사용하려면 import sys를 해줘야한다는 점!! import sys stack = [] def push(num): stack.append(num) def top(): if len(stack) == 0: return -1 return stack[len(stack)-1] def size(): return len(stack) def empty(): if len(stack) == 0: return 1 r..
nPr = n! / (n-r)! ex) 9P3 = 9*8*7 nCr = n! / r! (n-r)! ex) 9C3 = 9*8*7 / 3*2*1
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/caGozA/btr3WcjyVVc/8Bp0PjknXknuLhSqoNgEp1/img.png)
IAM이란? AWS 리소스에 대한 엑세스를 안전하게 제어할 수 있는 서비스 사용자가 액세스할 수 있는 AWS 리소스를 제어하는 권한을 중앙에서 관리 가능 IAM을 사용하여 리소르를 사용하도록 인증 및 권한 부여된 대상을 제어할 수 있음 사용자, 그룹, 역할을 생성하여 정책(json으로 되어있는 어떤 업무가 가능한지 명시된 text)를 통해 권한 부여최소 권한의 원칙 root 사용자로 모든 서비스를 사용하는 것은 보안상 좋지 않다. 각 사용자에게 필요한 최소한의 권한만 주는 것을 원칙으로 한다.해야할 일 루트 사용자의 엑세스 키를 삭제해야함 -> 키가 공개되면... 끝! IAM 사용자를 생성함 -> 루트로 사용하지 않고 하위 사용자로 서비스를 사용 다중 인증(MFA)를 활성화IAM User 기본적으로 적용..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bRIOzB/btr35EyP9k9/r4nYYI6vGyMzl9xjGi3rS1/img.png)
기본 하이브리드 암호화의 위험 A(수신자), B(발신자), C(해커)라고 가정 A가 A Public Key, A Private Key를 만들고 A Public Key를 B에게 전달한다. 이때 C가 C Public Key, C Private Key를 만들고 A Public Key 대신 자신의 C Public Key를 전달한다. B는 C Public Key가 A가 보낸 것인 줄 알고 Secret Key를 C Public Key로 암호화해서 A에게 전달한다. C가 C Private Key를 이용해 Secret Key를 획득하고 다시 A Public Key로 암호화해서 A에게 전달한다. A는 A Private Key로 Secret Key를 획득하게 되고 제 3자가 Secret Key를 갖게 됐지만 문제가 없다고..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bm8vJn/btr3ofVr19v/1TID32lmIOZk5oT7fIcVVk/img.png)
VPC에 관련해서 몇가지 질문이 있었다. 만약 Private Subnet에 Instance가 공인 ip를 가지고 인바운드 규칙도 열려있다면 통신이 가능할까? 공인 ip가 없는 private subnet에 있는 instance를 관리자가 어떻게 관리할까?해답 private subnet에 있는 instance가 공인 ip를 가지고 있고 인바운드 규칙이 열려있다고 해서 통신이 가능하지 x -> private subnet에 있는 instance는 nat gateway를 통해 외부와 통신하는데 nat gateway는 요청이 나가거나 나가는 요청에 대한 응답만 돌아올 수 있고 그냥 오는 요청은 받을 수 없기 때문. -> 따라서 로드밸러서를 사용해서 어떤 요청이 오면 어떤 인스턴스로 보낼지 설정을 해줘야함 ex. T..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/LzhlB/btr3oe8vkRc/Eu8SWVuRswxW3CvYbHctk1/img.png)
ping 네트워크 상태 점검 및 도메인 ip 확인 기본적으로는 4회 실행, ping -t 를 사용하면 반복적으로 수행(중지하려면 ctrl+c) ping -n 10 처럼 횟수 지정가능traceroute 지정된 호스트에 도달할 때까지 통과하는 경로의 정보와 경로에서의 지연 시간을 추적가능 네트워크 라우팅의 문제점을 찾아낼 때 많이 사용 mtr traceroute와 ping을 결합한 네트워크 진단 도구 traceroute보다 보다 많은 정보를 보여줌 nslookup dns서버에 질의하여 도메인의 정보를 조회하는 명령어