일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- error
- java
- 파이썬
- 문자열
- Spring
- springboot
- 라이브템플릿
- 소수
- 2981
- 알고리즘
- javascript
- Greedy
- algorithm
- brute force
- counting elements
- 백준
- 2018 KAKAO BLIND RECRUITMENT
- codility
- Python
- HTTP
- BFS
- beandefinitionstoreexception
- 코딩테스트
- applicationeventpublisher
- 프로그래머스
- API
- 탐욕법
- spring security
- Dijkstra
- 최단경로
- Today
- Total
목록전체 글 (78)
Altiora Petamus
https://haril.dev Hello from Haril Dev | Haril DevMore information, better developerharil.dev (이미 한참 되었지만...) 블로그를 이사하게 되었습니다. 앞으로는 새로운 곳에서 뵙도록 할게요. 항상 감사합니다.
TeamCity 는 JetBrains 사가 개발한 CI/CD tool 로 2006 년부터 서비스되고 있다. Jenkins 와 같은 포지션에 있지만 새로운 CI/CD tool 이 필요하다면 TeamCity 를 쓰는걸 추천하고 있다. 어떤 문제점을 해결할 수 있을까? 기존의 문제점 배치 모니터링에 대한 부재로 운영 및 관리가 어렵다. Elastic 을 활용하면 어느 정도 모니터링은 가능하나, 문제가 생겼을 경우 빠른 재실행이나 재배포는 할 수 없다. Quartz 스케쥴링으로 인하여 시간간격 임의 조정이 어렵다. 시간을 수정하고 실행하기 위해선 기존 어플리케이션을 종료(!) 해야한다. 문제가 생겼을 경우의 재실행이 어렵다. 해결할 수 있는 점 모니터링 및 특정 배치 재실행이 용이하다. Spring Batch ..
1269번: 대칭 차집합 1269번: 대칭 차집합 첫째 줄에 집합 A의 원소의 개수와 집합 B의 원소의 개수가 빈 칸을 사이에 두고 주어진다. 둘째 줄에는 집합 A의 모든 원소가, 셋째 줄에는 집합 B의 모든 원소가 빈 칸을 사이에 두고 각각 주어 www.acmicpc.net 🤔생각해보기 파이썬은 set 자료구조를 사용하면 집합 연산을 편리하게 처리할 수 있다. 대칭 차집합의 연산자는 ^ 이다. 집합 연산을 알고 있다면 굉장히 쉬운 문제. Code n, m = map(int, input().split()) A = set(map(int, input().split())) B = set(map(int, input().split())) print(len(A ^ B))
1356번: 유진수 1356번: 유진수 첫째 줄에 수 N이 주어진다. 이 수는 2,147,483,647보다작거나 같은 자연수이다. www.acmicpc.net 🤔생각해보기 나누어진 문자열의 길이조절을 위한 roop 를 실행시키며 좌우로 slice 한 후, 숫자로 변환하여 곱연산을 수행합니다. 만약 이 때 나누어진 둘의 결과값이 같다면 answer 를 "YES" 로 바꾸고 roop 를 종료합니다. answer 를 출력합니다. Code from functools import reduce N = input() answer = "NO" for i in range(1, len(N)): # 문자열 분할 prev = reduce(lambda x, y: x * y, map(int, list(N[:i]))) cur = ..
1919번: 애너그램 만들기 1919번: 애너그램 만들기 두 영어 단어가 철자의 순서를 뒤바꾸어 같아질 수 있을 때, 그러한 두 단어를 서로 애너그램 관계에 있다고 한다. 예를 들면 occurs 라는 영어 단어와 succor 는 서로 애너그램 관계에 있는데, occurs www.acmicpc.net 🤔생각해보기 브론즈2 답지 않게 문제는 엄청 복잡하게 적어놨지만, 정리해보면 두 문자열에서 동시에 포함하지 않은, 서로의 문자열에만 포함된 문자열을 찾는 문제입니다. set() 을 사용하면 집합 연산을 사용할 수 있지만, 중복이 제거되면서 개수를 파악하기 힘들게 될 수 있기 때문에, Counter 를 사용해주었습니다. Code from collections import Counter a = Counter(in..
repository class 가 domain 패키지에 있어서 repository 패키지로 이동시켜주고 테스트를 실행시켰더니 발생한 에러입니다. 에러를 읽어보니 분명 클래스를 이동시켰는데도 이전의 위치에서 찾는 것을 볼 수 있었습니다. 그리고 이로 인해 클래스 경로에서 파일을 찾지 못하는 에러까지 발생하고 있었습니다. 분명히 파일을 옮겼고 파일의 인덱싱까지 잘 되어있는데 왜 컴파일 단계에서 에러가 발생할까 해서 다음 명령어를 실행해보고 다시 시도해보니 해결되었습니다. ./gradlew clean 빌드 과정에서 문제가 생겼을 경우 실행시켜서 문제를 해결하던 명령어였는데 이번 에러 또한 이 명령어로 해결할 수 있었습니다.
PermCheck coding task - Learn to Code - Codility PermCheck coding task - Learn to Code - Codility Check whether array A is a permutation. app.codility.com 🤔생각해보기 주어진 배열이 순열이 맞는지 검사하는 문제 set() 으로 변환 후 비교하면 순서에 상관없이 동등한지 비교가 가능하므로 간단하게 해결이 가능하다. def solution(A): n = set([i for i in range(1, len(A) + 1)]) return 1 if n == set(A) else 0
1969번: DNA DNA란 어떤 유전물질을 구성하는 분자이다. 이 DNA는 서로 다른 4가지의 뉴클레오티드로 이루어져 있다(Adenine, Thymine, Guanine, Cytosine). 우리는 어떤 DNA의 물질을 표현할 때, 이 DNA를 이루는 뉴클레오 www.acmicpc.net 🤔생각해보기 처음에는 문제가 무슨 뜻인지 이해가 잘 되지 않았어서 한참을 들여다본거 같다. 새로운 DNA 배열을 만들고 싶은데 다른 DNA들과 비교했을 때 각 위치의 문자가 다른 것의 합계가 가장 작은 새로운 DNA 배열이 만들고 싶다라는 말이 뭐가 이렇게 길고 복잡한건지... 염기서열을 쭉 늘어놓았을 때 각각의 위치에서 가장 많은 문자는 무엇인지 세는 것으로 시작한다. 위치마다 가장 많은 문자를 골라내서 새로운 DN..