본문 바로가기

전체 글140

[JAVA-1654] 랜선 자르기(결정 알고리즘) 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 링크를 클릭하면 해당 문제로 이동합니다. 해당 문제에 대한 시각은 내가 결정 알고리즘이라는 것을 알기 전과 후로 나뉜다. 내 기준에서는 나름 어려웠던 문제인데 구글링하지 않고 혼자 풀어낸 것에 대한 성취감이 느껴져서 어떻게 풀었는지 잊지 않기 위해 기록해본다. 결정 알고리즘이란? 결정 알고리즘이라는 단어는 실제 공식적으로 사용 되어지는 단어는 아니고, 내가 개인적으로 인프런에서 수강중인 강의의 강사님께서 만든 단어인거 같다. 어쨌든,.. 2023. 10. 27.
[JAVA] 두 배열 합치기 접근하기 처음엔 입력받은 원소들을 배열에 담아야겠다고 생각했는데 첫 번째 배열과 두 번째 배열의 크기가 다를 경우도 감안해야 돼서, 배열보다는 리스트가 낫겠다고 생각했다. 그래서, 두 개의 리스트를 만든 다음에 각각의 리스트에 원소를 넣고 최종적으로 두 배열의 원소를 합친 리스트에서 정렬 후에 출력하면 되겠다고 생각했다. TO-DO 1. 정수 N을 입력 받고 반복문으로 첫 번째 리스트에 원소 값들을 넣는다. 2. 정수 M을 입력 받고 반복문으로 두 번째 리스트에 원소 값들을 넣는다. 3. 새로운 리스트를 만들고 첫 번째 리스트와 두 번째 리스트의 원소 값들을 넣는다. 4. 해당 리스트를 오름차순으로 정렬하고 출력한다. 코드 import java.util.ArrayList; import java.util... 2023. 9. 1.
[JAVA] 격자판 최대합 접근하기 행과 열로 이루어진 데이터는 십중팔구 2차원 배열을 의미하기 때문에 2차원 배열 및 이중 for문을 이용해서 풀면 되겠다고 생각했다. TO-DO 1. 정수 N을 입력받아, N행 N열의 2차원 배열을 생성한다. 2. 2차원 배열 각각의 인덱스에 원소값을 입력한다. 3. 각 행, 각 열, 각 대각선( \ 방향 & / 방향) 의 합을 구해서 최댓값인지 비교한다. 그림 설명 먼저, 각 행의 합을 구하고자 할 때는 1행의 합 : [0][0] + [0][1] + [0][2] + [0][3] + [0][4] 2행의 합 :[1][0] + [1][1] + [1][2] + [1][3] + [1][4] 3행의 합 : ... 4행의 합 : ... 5행의 합 : ... 이렇게 되니까 이중 for문을 이용해서 코드를 구.. 2023. 8. 31.
[JAVA-1929] 소수 구하기 - 에라토스테네스의 체 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 링크를 클릭하면 해당 문제로 이동합니다. 1. 접근하기 알고리즘 문제를 접하다보면 종종 소수와 관련된 문제를 마주치게 되는데 소수 문제는 에라토스테네스의 체를 이용하면 빠르게 해결할 수 있다. (소수 : 약수로 1과 자기 자신 2개의 숫자만 가지는 수) 2. 에라토스테네스의 체 TO-DO 1) 문제에서 N 이하의 숫자 중 소수를 구한다고 했으므로 0부터 N까지의 인덱스가 포함된 배열을 생성해준다. 2) 반복문을 통해, 2번 인덱스부터 값을 조사하고 해당 인덱스의 값이 0이면 출력한다. 3) 해.. 2023. 8. 30.
[Gradle] Gradle 버전 변경(+Deprecated) 과제 회사에서 Gradle 5.0 버전을 사용하여 프로젝트를 build 해왔는데, 6.3 버전으로 업그레이드 해야 되는 상황이었다. 단순히 Gradle 버전을 변경하는 것은 쉽지만, 그에 그치지 않고 버전이 업그레이드 됨에 따라 Deprecate 된 사항들을 확인해서 build.gradle 파일을 변경 해야 했다. How gradlew wrapper --gradle-version 6.3 명령 프롬프트를 실행하고, gradlew 파일이 위치한 경로로 이동한 다음 상기 명령어를 입력하면 gradle 버전이 업그레이드 되고, gradle-wrapper.properties 파일이 자동으로 변경된다. 이런식으로 properties 파일을 확인해봐도 되고, 명령 프롬프트에서 아래의 명령어를 입력하여 변경된 grad.. 2023. 6. 21.
[Spring Boot] 서버 재시작 없이 변경된 코드 반영 Spring Boot 재시작 없이 반영 (DevTools) 클래스 파일을 수정하고 테스트하려면 서버를 수동으로 재시작해주어야 하는 번거로움이 있어요. 사실, 효율적으로 테스트를 하기 위해서는 Junit과 같은 테스트 프레임워크를 사용하는 것이 가 gofnrk.tistory.com 서버단을 Spring Boot로 진행하다보니, Spring 때와는 달리 자동 리로드 기능이 지원되지 않아 코드가 수정되면 직접 서버를 on/off 해야 하는 불편함이 있었다. 이러한 불편 사항을 해결 하기 위해 구글링 해본 결과, 라이브러리를 추가하면 직접적으로 서버를 껐다 켰다 하지 않아도 된다고 해서 maven 방식으로 라이브러리를 추가했다. org.springframework.boot spring-boot-devtools .. 2023. 4. 13.
[ERROR] Application run failed 키워드 - Application run failed - Failed to parse configuration class - class path resource [application.propeties] cannot be opened bacause it does not exist 문제 발생 - 팀프로젝트를 진행하면서 한 팀원이 GitHub에 생성한 Repository를 fork 후, local storage에 clone하고 import 해서 실행해보려고 했는데 위와 같은 오류가 발생했다. 문제 해결 과정 - application.properties가 존재하지 않는다고 해서, 해당 파일을 체크 해봤는데 이상이 없었다. (❌) - 구글링 해본 결과, 패키지 위치가 어쩌고 저쩌고 해서 패키지 위치도 체크 해봤는.. 2023. 4. 12.
[JS] SpeechSynthesisUtterance API SpeechSynthesisUtterance - Web APIs | MDN The SpeechSynthesisUtterance interface of the Web Speech API represents a speech request. It contains the content the speech service should read and information about how to read it (e.g. language, pitch and volume.) developer.mozilla.org API에 대한 자세한 설명은 위의 링크에서 확인할 수 있습니다. SpeechSynthesisUtterance API 란? 해당 API는 웹 브라우저가 기본적으로 제공하는 API인데, 이 API를 사용하면 inp.. 2023. 4. 2.
[네이버 클라우드] CLOVA Voice API, TTS(Text To Speech) CLOVA Voice 개요 api.ncloud-docs.com API에 대한 자세한 설명은 위의 링크에 확인할 수 있습니다. CLOVA Voice API란? CLOVA Voice API는 음성으로 변환할 텍스트를 입력받은 후 파라미터로 지정된 음색과 속도로 음성을 합성하여 그 결과를 반환하는 서비스를 제공한다. GOAL ㆍ등록했던 Application에 CLOVA Voice API Service를 추가할 수 있다. ㆍ텍스트를 입력하면 음성으로 변환된 파일을 다운로드 받을 수 있다. 1. CLOVA Voice API Service 추가 2. 웹 브라우저에서 텍스트를 입력하면, 해당 텍스트에 대한 음성 파일을 다운로드 클라이언트에는 위와 같은 UI가 있다고 가정하자.textarea 안에 텍스트를 입력하고, .. 2023. 4. 2.
[네이버 클라우드] CFR(CLOVA Face Recognition) CLOVA Face Recognition(CFR) 개요 api.ncloud-docs.com API에 대한 자세한 설명은 위의 링크에서 확인할 수 있습니다. CFR이란? CFR(CLOVA Face Recognition)은 얼굴 감지 및 인식 기능을 이용하여 관련 정보를 제공하는 네이버 클라우드 플랫폼의 서비스이다. 이미지 속 얼굴의 윤곽, 눈, 코, 입, 표정 값을 산출할 수 있는 API를 제공한다. GOAL ㆍ네이버 클라우드 플랫폼에서 지난번에 생성한 Application에 CFR service를 추가한다. ㆍ클라이언트에서 인물 사진 업로드 후, 해당 인물과 가장 닮은 유명 인물을 출력할 수 있다. ㆍ클라이언트에서 인물 사진 업로드 후, 해당 인물 얼굴의 윤곽과 이목구비, 표정 값을 얻을 수 있다. 1... 2023. 3. 31.