Java 2025. 1. 7.
[Java] FTP로 전송할 때 파일 사이즈가 커지는 문제 발생
😱 문제원인FTP로 파일을 전송할 때 파일 사이즈가 커지는 문제가 발생했다.같은 파일인데 파일 사이즈가 커지는 부분이 문제 되었다. (파일 사이즈를 비교하여 동작하는 기능이 있기 때문이다.) 참고로 아래 라이브러리를 사용하여 FTP, FTPS, SFTP 기능을 구현했다. commons-net commons-net 3.11.1 com.jcraft jsch 0.1.55 😊 해결방법FTP 설정 문제임을 파악하여 FTP 접속 시 조건을 변경했다.바이너리 모드로 설정해야 파일 사이즈가 그대로 간다고 한다. 옵션에 대한 자세한 설명은 아래에 작성했다. if(ftp.login(user, pass)) { ftp.setFileType(FTPClient.BINARY_FILE_TYPE); /..

알고리즘/문제풀이 2022. 8. 10.
[백준알고리즘] 10989. 수 정렬하기 3 풀이 (Java)
❓ 문제 ❗ 풀이 이 문제는 시간 제한, 메모리 제한을 신경써야한다. 수 정렬하기2에서 푼 코드를 가져와 제출하였을 때 Array.sort()를 사용한 코드는 통과되었지만 Collections.sort()를 사용한 코드는 메모리 초과로 통과되지 못하였다. Array.sort()외 다른 방법이 없을까 보는 중 카운팅정렬을 사용하는 방법을 보았다. 카운팅정렬의 시간복잡도는 O(N + K)로 K는 자릿수를 의미한다. 입력데이터가 K 보다 훨씬 큰 경우, 즉 데이터가 많으면 많을수록 O(N) 에 가깝기 때문에 이상적으로는 O(N) 이라고 보아도 무방하다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamRea..

알고리즘/문제풀이 2022. 8. 8.
[백준알고리즘] 10814. 나이순 정렬 풀이 (Java)
❓ 문제 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 온라인 저지 회원의 수 N이 주어진다. (1 ≤ N ≤ 100,000) 둘째 줄부터 N개의 줄에는 각 회원의 나이와 이름이 공백으로 구분되어 주어진다. 나이는 1보다 크거나 같으며, 200보다 작거나 같은 정수이고, 이름은 알파벳 대소문자로 이루어져 있고, 길이가 100보다 작거나 같은 문자열이다. 입력은 가입한 순서로 주어진다. 출력 첫째 줄부터 총 N개의 줄에 걸쳐 온라인 저지 회원을 나이 순, 나이가 같으면 가입한 순으로 한 줄에 한 명씩 나이와 이름을 공백으로 구분해 출력한다. ..

알고리즘/문제풀이 2022. 4. 12.
[백준알고리즘] 2798. 블랙잭 풀이 (Java)
❓ 문제 카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다. 한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들어 상근, 창영이와 게임하려고 한다. 김정인 버전의 블랙잭에서 각 카드에는 양의 정수가 쓰여 있다. 그다음, 딜러는 N장의 카드를 모두 숫자가 보이도록 바닥에 놓는다. 그런 후에 딜러는 숫자 M을 크게 외친다. 이제 플레이어는 제한된 시간 안에 N장의 카드 중에서 3장의 카드를 골라야 한다. 블랙잭 변형 게임이기 때문에, 플레이어가 고른 카드의 합은 M을 넘지 않으면서 M과 최대한 가깝게 만들어야 한다. N장의 카드에 써져 있는 숫자가 주어졌을 때,..

알고리즘/문제풀이 2021. 8. 25.
[프로그래머스] 코딩테스트 연습 - 평균 구하기 Java, JavaScript
문제 설명 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 제한사항 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. 입출력 예 arr return [1,2,3,4] 2.5 [5,5] 5 나의 풀이 JavaScript Vue로 개발하면서 js의 중요성도 점차 깨닫게 되었다. js를 잘 짜는 것도 FE에서 중요하다는 것을 느껴 js도 함께 공부하려고 한다. function solution(arr) { var answer = 0; arr.forEach(item => { answer += item }); answer = answer/(arr.length); return answer; } Jav..
