본문 바로가기

구현181

[자바] 프로그래머스 - 겹치는 선분의 길이 (Lv0, Java) 문제 : Programmers-겹치는 선분의 길이 문제 출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges 필요 알고리즘 개념 구현 if문을 통해 세 선분을 비교해도 풀 수 있으나, 아이디어만 잘 세우면 그냥 배열에 카운팅만 해서 구현해주면 된다. 풀이 선분의 수치는 -100~100 이다. 수치를 +100씩 해준다면 0~200 범위가 된다. 따라서 배열에 해당 선분이 차지하는 범위만큼 카운팅을 해줄 수 있다. 예를들어 아래와 같이 카운팅을 해줄 경우, 배열의 수치가 2 또는 3인 부분이 '두 개 이상의 선분이 겹치는 부분'이다. 주의점은 그냥 [a, b] 범위에 대해 카운팅하는건 점에 대한 카운팅이다. 이 문제에서는 겹치는 면을 찾아야하므로.. 2022. 12. 7.
[자바] 백준 7595 - Triangles (java) 문제 : boj7595 필요 알고리즘 개념 구현 문제에서 제시된 형태로 별찍기를 해주면 된다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 하나의 정수만 입력받아 별을 찍을 수 있다면, 여러개의 별을 출력하는건 그냥 반복문이 하나 들어가는 과정일 뿐이다. 그러니 하나의 정수에 대해 별을 찍는 과정만 살펴보자. private void print(int n) { for (int i = 1; i 2022. 12. 7.
[자바] 백준 2941 - 크로아티아 알파벳 (java) 문제 : boj2941 필요 알고리즘 개념 구현, 문자열 문자열을 다루는 구현 문제이다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 이 문제의 관건은 크로아티아 알파벳을 변경해서 사용한 부분을 하나의 알파벳으로 세주면 된다. 문자의 갯수만 알면 되므로 다음과 같이 생각해보자. "ljes=njak" -> "?e??ak" (lj, s=, nj 가 ?로 치환되었다.) 즉, 어떤 문자인지는 상관없고 아무튼 크로아티아 알파벳이 쓰.. 2022. 12. 7.
[자바] 백준 23027 - 1번부터 문제의 상태가…? (java) 문제 : boj23027 필요 알고리즘 개념 구현, 문자열 문제에 제시된대로 구현해주면 된다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 자바에서 어떠한 문자가 포함되어있는지 확인은 String s에 대해 s.contains("A") 와 같은 식으로 가능하다. 그리고 특정 문자를 모두 특정 문자로 변경하는 것은 s = s.replaceAll("B", "A"); ( 모든 B를 A로 변경 ) 과 같이 가능하다. 위의 사항들을.. 2022. 12. 5.
[자바] 백준 25305 - 커트라인 (java) 문제 : boj25305 필요 알고리즘 개념 정렬, 구현 정렬을 통해 문제에서 제시된 방식대로 구현해주면 된다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 1. arr[N] 에 각 학생의 점수를 입력받는다. 2. arr을 정렬한다. 3. 내림차순으로 정렬했다면 앞에서부터 k번째 학생의 점수를 출력한다. 오름차순으로 정렬했다면 뒤에서부터 k번째 학생의 점수를 출력해준다. 코드 : github import java.io.Bu.. 2022. 12. 4.
[자바] 백준 25630 - 팰린드롬 소떡소떡 (java) 문제 : boj25630 필요 알고리즘 개념 구현, 문자열 문자열 파싱을 통해 구현할 수 있다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 소떡소떡에서 팰린드롬이 되려면 몇 개를 변경해야 할지 알아내야 한다. [1] 우선 홀수일 경우 중간에 끼워져 있는건 어차피 팰린드롬에 무관하므로 상관 없다 [2] 반반으로 나누자 (필요없는 부분 제외) [3] 한쪽을 거꾸로 돌려서 비교해봤을 때 서로 다른 갯수가 문제에서 원하는 답이다.. 2022. 12. 3.
[자바] 백준 20976 - The Second Largest Integer (java) 문제 : boj20976 필요 알고리즘 개념 구현 문제에서 제시된 대로 구현하면 된다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 일본어 문제지만, 제곧내 이므로 제목과 입출력 예시만 보면 풀 수 있다. 아무튼 3개를 입력받아서 그 중 2번째로 큰 값을 출력하면 된다. 3개의 값을 비교해서 출력해줘도 되고, 그냥 이하 코드처럼 정렬한 후 2번째 값(인덱스1)을 출력해주면 된다. 코드 : github import java... 2022. 12. 2.
[자바] 백준 8949 - 대충 더해 (java) 문제 : boj8949 필요 알고리즘 개념 문자열. 구현 문자열을 파싱할 줄 알아야 풀 수 있다. 이외 로직은 문제에서 제시된 대로 구현해주면 된다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 1. 예를들어 A = "123, B = "2495" 라고 해보자. 이 때 문자열 자체로 A = "0123", B = "2495" 처럼 자리수를 동일하게 맞추기 위해 앞에 '0'을 넣어준다고 하자. 2. 그렇다면 A와 B의 길이는 동.. 2022. 11. 30.
백준 2563 - 색종이 (자바, C, C++, node.js, Kotlin, Python, C#) 문제 : boj2563 필요 알고리즘 개념 구현 문제에 제시된대로 구현을 하면 된다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 가장 쉽게 생각해볼 수 있는건, 100x100 짜리 배열을 만든 후 전부 0 또는 false로 초기화한다. 이후 입력을 받아 10X10 정사각형 모양의 색종이를 직접 배열에 +1 혹은 true로 변경한다. 이후 100x100 배열을 한번 더 순회하면서 0 또는 false가 아닌 배열 값의 수를 .. 2022. 11. 29.
[자바] 백준 6763 - Speed fines are not fine! (java) 문제 : boj6763 필요 알고리즘 개념 구현 문제에 제시된 대로 구현해주면 된다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 1. gap = 차 속도 - 속도 제한 2. gap 2022. 11. 27.