일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래머스
- Java
- 프로그래머스 전호번호 목록
- 베트스앨범
- 리액트 돔
- 깃랩 젠킨슨 연동
- 윈도우 프로세스 죽이기
- Clooection
- SQL Parser
- AWS
- SQL Optimizer
- jenkins
- SQL
- 알고리즘
- Row-Source Generation
- FTP
- Oracle
- 스프링 실행 에러
- 인바운드규칙
- 국가공은자격증
- 윈도우 kill -9
- SFTP
- 프로그래머스 위장
- SQL파싱
- jenkins gitlab 연동
- Soft Parsing
- EC2
- db
- Hard Parsing
- 코딩테스트
- Today
- Total
목록JAVA (6)
알파돈

처음풀어보는 프로그래머스 레벨 3 문제 였다. 문제부터 읽어보면 무슨 소리인지 몰랐는데, 가장 많이 재생된 장르를 골라 2개씩 고유번호(배열의 인덱스번호)를 결과 값에 담으면 된다. 이걸보면 pop는 총 3100번 > classic 는 1450번으로 pop부터 2개 담고 classic 2개를 담으면 된다. import java.util.*; class Solution { public Integer[] solution(String[] genres, int[] plays) { ArrayList answerList = new ArrayList(); HashMap hashMap = new HashMap(); HashMap genresMap = new HashMap(); HashMap playsMap = new ..

일단 이번문제는 문제 읽고 무슨소리인지 몰랐다. 다시보니까 이해가 됬다 본인이 다른 배열값의 접두어인지만 확인하면 된다. 이문제는 처음에 Hash를 안하고 그냥 배열에서 이중 for문으로 돌리다보니 성능테스트 3, 4에서 시간 초과가 나와 왜일가 고민하면서 알아본결과 HashMap가 시간이 훨씬 빠르다고 한다. 이 문제도 일단 전화번호 목록을 hashMap에 넣고 하니 성능이 다 통고 했다. 이 부분을 보면 값을 substring으로 잘라 hashMap에 값이 존재하는지 확인하다. 본인 길이보다 1작게 잘리기때문에 자기자신을 비교해도 같다고 안나온다.

이번문제는 중복인 값도 없고 확률 계산만 하면 생각보다 쉽게 풀 수 있었다. HashMap을 사용해서 일단 배열들을 해시하여 중복값을 제거한 후 갯수만 저장한다. 코딩을 풀고나서 알아보니 위 코드보다 hashMap.getOrDefault()라는 메서드를 사용하면 코드 길이도 줄어 들었다. hashMap.getOrDefault(clothes[i][1], 0) +1 이렇게 하면 된다. HashMap를 반복문 돌리면서 곱해주면 답을 구할 수 있다 *마지막에 모두 안입은 경우는 빼줘해서 -1이 필요하다. 필자는 반복문을 위해 Set를 만들어서 사용 했다.

코딩테스트 고득점 Kit 해시의 첫번째 문제 완주하지 못한 선수 비교 알고리즘이다 일단은 두 배열을 비교하는 문제이다 항상 paricipant배열이 completion보다 1 크다. 레벨 1 답게 코드는 생각보다 간단했다. 먼저 Arrays.sort()메서드를 사용해서 두 배열을 sort해준다음 비교해주면 된다. 이렇게 하면 이름이 같은 사람이 나올경우도 해결 할 수 있다. paricipant배열이 completion보다 1 크므로 반복문 실행 시 길이보다 하나 작게 한다. 맨마지막 return은 paricipant 마지막 인자값으로 설정한다. 이렇게 안해줘도 100점이 나오는거보면 완주 못한경우가 이니셜 제일 마지막인 테스트케이스는 없는거같다
https://github.com/dor917/algorithm dor917/algorithm Contribute to dor917/algorithm development by creating an account on GitHub. github.com 깃에 올려놨습니다. 필요하시면 참고하세요 스텝별로 풀었으며 10단계씩 끊어서 패키지를 구성하였습니다. 댓글로 물어보셔도 답변드립니다.

sftp란? SFTP(Secure File Transfer Protocal)는 기존 FTP보다 보안이 강화된 전송 방식입니다. 일반적인 FTP의 경우 파일을 전송할 경우 로그인 정보나 파일 정보에 대하여 암호화를 하지 않기 때문에 계정 및 파일에 대한 정보 노출의 위험이 있습니다. SFTP는 파일 전송 시 이 모든 정보를 암호화하여 통신을하게 되며, 사용법은 일반 FTP 사용과 동일합니다. sftp로 파일 업로드를 하기 위해서는 먼저 로그인해서 세션을 맺어줘여 한다. 그러기 위해서 jsch 라이브러리를 사용하였다. 파일 업로드 코드는 아래와 같다. 프로그래밍의 로직은 통신객체 생성 -> 세션객체 생성 -> 접속 -> 채널오픈 -> 파일 업로드로 구성됩니다.