반응형

Problem Solved

    [BOJ][Java] 2440번 - 별 찍기 - 3

    문제 백준 2440번 문제: 별 찍기 - 3 문제 설명 첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는 문제 이중 반복문을 통해 해결할 수 있다. 성공 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); sc.close(); while (n > 0) { for (int i = n; i > 0; i--) { System.out.print("*"); } System.out.println(); n--; } } }

    [BOJ][Java] 15649번 - N과 M (1)

    [BOJ][Java] 15649번 - N과 M (1)

    문제 백준 15649번 문제: N과 M (1) N과 M 시리즈 문제 해설 보러가기 [BOJ][Java] 15649번 - N과 M (1) [BOJ][Java] 15650번 - N과 M (2) [BOJ][Java] 15651번 - N과 M (3) [BOJ][Java] 15652번 - N과 M (4) 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 문제 설명 DFS(깊이 우선 탐색)를 사용해 백트래킹을 진행했다. DFS: 루트 노드(혹은 다른 임의의 노드)에서 시작해서 다음 분기(branch)로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 방법, 대표적인 완전 탐색 방법, DFS 는 모든곳을 ..

    [BOJ][Java] 10814번 - 나이순 정렬

    문제 백준 10814번 문제: 나이순 정렬 문제 & 코드 설명 정렬 조건 1) 나이 2) 가입 순서 여기서 주의해야 할 점은 가입 순서이다. HashMap은 순서가 보장되지 않기 때문에 입력한대로 저장하기 위해서 이중 배열을 사용했다. 그리고 Arrays.sort에 Comparator를 사용해 나이를 기준으로 정렬했다. 가입 순서는 처음 입력한 순서만 유지되면 되므로 따로 순서를 저장할 필요는 없었다. 성공 코드 import java.util.Arrays; import java.util.Comparator; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner..

    [BOJ][Java] 1181번 - 단어 정렬

    문제 백준 1181번 문제: 단어 정렬 문제 설명 길이가 짧은 것부터 길이가 같으면 사전 순으로 정렬하고, 같은 단어는 한 번만 출력하는 문제 코드 풀이 1) HashMap에 단어들을 담는다. (words) 2) LinkedList에 HashMap의 메소드 중 하나인 entrySet을 사용해 key와 value를 모두 LinkedList로 넣는다. 여기서 entrySet에 의해 중복값이 걸러진다. - 여기서 LinkedList를 사용하는 이유는 HashMap은 순서가 보장되지 않기 때문에 순서를 유지시키기 위해서이다. 3) Collections.sort에서 Comparator를 사용해 우선순위에 따라 다르게 정렬되도록 한다. - 여기서 key는 문자열, value는 문자열의 길이이다. - 따라서 valu..

    [BOJ][Java] 1032번 - 명령 프롬프트

    문제 백준 1032번 문제: 명령 프롬프트 문제 설명 n개의 파일명을 입력받아 중복되지 않은 파일명의 부분을 ?로 출력하는 문제 처음에 문제를 제대로 안읽어서 파일명이 3개만 입력되는줄알고 하드코딩을 했다가 틀렸다ㅠ 제한시간이 2초라서 처음 입력된 값에 차례대로 하나씩 비교하게끔 했다. 일반 String으로 값을 받으면 값을 중간에 바꾸기가 번거로워서 StringBuilder를 사용해서 다른 값이 나오면 setCharAt()을 이용해 ?로 바꿔 주었다. 성공 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.n..

    [BOJ][Java] 1100번 - 하얀 칸

    문제 백준 1100번 문제: 하얀 칸 문제 설명 가장 위의 칸(0,0)이 하얀색이고, 하얀색은 검정색과 번갈아가며 칠해진다면, 하얀색 위에 있는 F는 몇 개일지 구하는 문제 하얀색 말의 조건 홀수번재 열일 때 홀수번째 행 짝수번째 열일 때 짝수번째 열 조건이 위와 같기 때문에 하얀색 말의 행열 번호의 합은 언제나 짝수이다. 이를 이용해 풀어도 된다. 나는 그냥 위의 조건을 if문과 for문을 활용해서 풀었다. 위 조건일 때 F가 등장하면 1씩 증가하게끔 해줬다. 성공 코드 import java.util.Scanner; public class BOJ1100 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); Stri..