본문 바로가기

Java46

[Programmers/Lv.2] 도넛과 막대 그래프 - Java 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 도넛과 막대 그래프 문제 내용을 설명하기엔 너무 길어서 문제에 대한 요약 따로 하지 않고, 문제의 제한사항과 내가 푼 풀이법에 대해서만 설명하겠다. ▏문제 설명 제한사항 1 ≤ edges의 길이 ≤ 1,000,000 edges의 원소는 [a,b] 형태이며, a번 정점에서 b번 정점으로 향하는 간선이 있다는 것을 나타냅니다. 1 ≤ a, b ≤ 1,000,000 문제의 조건에 맞는 그래프가 주어집니다. 도넛 모양 그래프, 막대 모양 그래프, 8자 모양 그래프의 수의 합은 2이상입니다. ▏문제 풀이 각 그래프의 구분하는데 중점을 두고 문제를 해결했다. 제일 쉽게 구분할 수있는 것은 막대 그래프였다. 다른 두 그래프와는 달리, 그래프의 꼭대기 정.. 2024. 4. 20.
[Programmers/Lv.3] 야근 지수 - Java 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 야근 지수 ▏문제 설명 회사원 Demi는 가끔은 야근을 하는데요, 야근을 하면 야근 피로도가 쌓입니다. 야근 피로도는 야근을 시작한 시점에서 남은 일의 작업량을 제곱하여 더한 값입니다. Demi는 N시간 동안 야근 피로도를 최소화하도록 일할 겁니다.Demi가 1시간 동안 작업량 1만큼을 처리할 수 있다고 할 때, 퇴근까지 남은 N 시간과 각 일에 대한 작업량 works에 대해 야근 피로도를 최소화한 값을 리턴하는 함수 solution을 완성해주세요. 제한사항 ◦ works는 길이 1 이상, 20,000 이하인 배열 ◦ works의 원소는 50000 이하인 자연수 ◦ n은 1,000,000 이하인 자연수 ▏문제 풀이 추후에 설명 작성하겠습니다.. 2022. 12. 23.
[Programmers/Lv.3] 최고의 집합 - Java 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 최고의 집합 ▏시작하는 말 오래간만에 프로그래머스 문제를 풀어봤다. 이번 문제는 LV3 단계인게 믿기지 않을만큼 쉽게 풀 수 있었다. 이 문제의 원리만 파악한다면 누구든 쉽게 풀 수 있으리라 생각한다. ▏문제 설명 자연수 n 개로 이루어진 집합 중 다음 두 조건을 만족하는 집합을 최고의 집합이라고 정의한다. 1. 각 원소의 합이 S가 되는 수의 집합 2. 위 조건을 만족하면서 각 원소의 곱이 최대가 되는 집합 n=2, s=9 일 때를 예를 들자면, 조건 1을 만족하는 집합은 { 1, 8 }, { 2, 7 }, { 3, 6 }, { 4, 5 }이다. 조건 1을 만족하며 조건 2를 만족하는 집합은 { 4, 5 }가 된다. 제한사항 ◦ 집합은 오.. 2022. 12. 8.
[Java] java.lang.NoClassDefFoundError: sun/io/ByteToCharConverter:sun/io/ByteToCharConverter 에러 해결 방법 ▏상황 내가 맡고있는 업체에서, 우리 회사 솔루션을 사용하던 중 에러가 발생하여 문의를 준 것이 바로 java.lang.NoClassDefFoundError: sun/io/ByteToCharConverter:sun/io/ByteToCharConverter 이다. 에러 발생 환경을 간단히 설명하자면, 리눅스 환경에서 우리 솔루션을 사용하여 db에 연결하고 select 문을 테스트 후 rollback 하는 것인데, 그 과정에서 에러가 발생한 것이다. 에러를 찾아보니, 자바 버전 7.2.x 버전 이후 부터는 ByteToCharConverter.class 가 빠져있는 것이다. ▏에러 로그 java.lang.NoClassDefFoundError: sun/io/ByteToCharConverter:sun/io/Byt.. 2022. 7. 28.
[JAVA] Failed to create folder. java.io.IOException : 그런 파일이나 디렉터리가 없습니다. 에러 해결 ▏상황 회사에서 내가 맡고있는 업체에서 아래와 같은 에러가 나 처리해달라는 문의가 왔다. Failed to create folder. java.io.IOException ▏에러 로그 Failed to create folder. java.io.IOException : 그런 파일이나 디렉터리가 없습니다. at java.io.UnixFileSystem.createFileExclusively(UnixFileSystem.java -2) at java.io.File.createNewFile(File.java:1012) ▏해결방법 에러 로그를 보면 알 수 있듯이, 폴더 생성에 실패한 것이다. 이유는 크게 두가지가 있다. 1. 코드 상의 오류 말 그대로 코드를 잘못 짰기 때문에 파일 생성을 할 수 없는것이다. 예를들어.. 2022. 7. 1.
[JAVA] SMTP Mail 기능 구현 : javax.mail.AuthenticationFailedException: 535-5.7.8 Username and Password not accepted 에러 해결 ▏에러 로그 Mail 기능 구현 하던 중 아래와 같은 에러가 발생했다. javax.mail.AuthenticationFailedException: 535-5.7.8 Username and Password not accepted. Learn more at 535 5.7.8 https://support.google.com/mail/?p=BadCredentials t22-20020a17090ae51600b001ecaa74f8dasm4309868pjy.11 - gsmtp at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:648) ▏원인 찾아보니 내가 보내고자 하는 메일 계정에 대해 "보안 수준이 낮은 앱 액세스" 가 .. 2022. 6. 23.
[JAVA] SMTP Mail 기능 구현 : javax.mail.MessagingException: Could not convert socket to TLS 에러 처리 ▏에러 로그 spring boot 로 간단한 프로젝트를 하던 중, 메일 보내는 과정에서 아래와 같은 에러가 발생했다. javax.mail.MessagingException: Could not convert socket to TLS; nested exception is: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate) at com.sun.mail.smtp.SMTPTransport.startTLS(SMTPTransport.java:1652) ▏해결방법 TLS(Transport Layer Security) 의 버전이 안맞아서 생기는 오류다. ( 참.. 2022. 6. 23.
[Java] 엔터(Enter) / 개행 / 공백 replace 처리하기 ▏목적 ◦ 엔터(Enter) / 개행 / 공백 replace 처리하기 ▏시작하는 말 Jsp 에서 Controller 로 값을 전달하거나, DB에 저장할 때 엔터처리가 안되는 경우가 발생한다. 이는 각각의 엔터 인식 방법이 달라서 발생하는 것이다. ▏replace 처리하기 요점만 말하자면, \n 을 로 / 을 \n 으로 변환해주면 되는것이다. ◦ 값 저장 할 경우 String text = request.getParameter("text"); text.replace("\n"," ") // 안될경우 > replace("\r\n", " ") ◦ 저장된 값 불러올 경우 String text = res.getString("text"); text.replace(" ", "\n") // 안될경우 > replace(" .. 2022. 6. 22.
[programmers/Lv3] 브라이언의 고민 - Java 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 브라이언의 고민 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/1830 코딩테스트 연습 - 브라이언의 고민 programmers.co.kr 문제 풀이 public class Brianstrouble { String answer; boolean checkRule1 = true; boolean checkRule2 = true; Map lowerMap; public String solution(String sentence) { answer = ""; lowerMap = new HashMap(); // 변형된 문자열은 공백 X야함. 근데 있을 경우 invalid if(sentence.conta.. 2022. 6. 20.
반응형