Learn From Failure

고정 헤더 영역

글 제목

메뉴 레이어

Learn From Failure

메뉴 리스트

  • tag
  • 분류 전체보기 (112)
    • Algorithm (91)
    • NestJS (2)
    • Java (6)
    • Spring (8)
    • AWS (1)
    • DBMS (2)

검색 레이어

Learn From Failure

검색 영역

컨텐츠 검색

Algorithm

  • 27160. 할리갈리

    2024.11.16 by aeongiii

  • 25593. 근무 지옥에 빠진 푸앙이(Small)

    2024.11.16 by aeongiii

  • 29701. 모스 부호

    2024.11.16 by aeongiii

  • 2605. 줄 세우기

    2024.11.16 by aeongiii

  • 20291. 파일 정리

    2024.11.15 by aeongiii

  • 2908. 상수

    2024.11.15 by aeongiii

  • 1152. 단어의 개수

    2024.11.15 by aeongiii

  • 26041. 비슷한 전화번호 표시

    2024.11.15 by aeongiii

27160. 할리갈리

1. 문제 분석     1) 카드 개수 N이 주어진다.     2) N번동안 과일의 종류 S + 과일의 개수 X가 한 줄씩 입력된다.     3) S는 STRAWBERRY, BANANA, LIME, PLUM 중 하나이다.     4) 하나의 과일에 대해 정확히 5개의 그림이 있으면 Yes를, 그렇지 않으면 No를 출력한다. 2. 제약 조건     1     1     입력으로 주어지는 모든 수는 정수이다. 3. 의사결정     1) 카드의 개수 N을 받고, N만큼 for문을 돌리며 한 줄씩 입력받는다.     2) STRAWBERRY, BANANA, LIME, PLUM의 과일 개수를 하나씩 넣을 배열을 만든다. (map보다 배열이 메모리 적음) 4. 문제 해결     1) 시간 복잡도 측면에선 같은데 배..

Algorithm 2024. 11. 16. 13:42

25593. 근무 지옥에 빠진 푸앙이(Small)

1. 문제 분석     1) N주동안 매일 4명의 근무자가 일한다. 총 근무자의 수는 모른다.     2) 각 근무는 4, 6, 4, 10시간으로 나누어져 있다.     3) 각 근무자의 총 근무시간을 구하고, 공평한지 확인한다.     4) 각 인원의 근무시간 차이가 12시간 이하면 공평한 것이다. 백준에 주어진 예제1을 실제 근무표로 그려보면 쉽게 이해할 수 있다.2. 제약 조건     총 근무자 수     1 3. 의사결정     1) N을 입력받고, 길이가 [N][7]인 2중배열을 만든다. -=> 필요한가...?     2) 한줄씩 입력받으면서, 몇번째 줄인지 세야 한다.        a번째 줄을 입력받을 때마다, a%4(=1, 2, 3, 4)로 구분하여 시간을 따로 계산한다.        가령,..

Algorithm 2024. 11. 16. 13:04

29701. 모스 부호

1. 문제 분석     1) 공백으로 구분된 모스 부호를 해독하여 N글자의 문자열을 출력한다.     2) 알파벳의 경우, 반드시 대문자로 출력한다. 2. 제약 조건     1 3. 의사결정     1) 일단 모스부호를 알려준다. Map을 사용하여 key에 모스부호를, value에 문자를 넣는다.     2) 첫째줄 N을 받는다.     3) 둘째줄 모스부호를 입력받고, 공백으로 구분한 뒤, 각 토큰을 한글자씩 해독하여 출력한다. 4. 문제 해결     1) 하나씩 넣어주느라 손이 아팠다...import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public clas..

Algorithm 2024. 11. 16. 10:35

2605. 줄 세우기

1. 문제 분석     1) 첫째 줄에는 학생의 수 S가 주어진다.     2) 둘째 줄에 줄을 선 차례대로 학생이 뽑은 번호가 주어진다. (pop1. pop2. pop3...)     3) 최종적으로 줄을 선 순서를 번호로 출력한다.     - 첫번째 학생은 무조건 0을 뽑는다. 2. 제약 조건     학생의 수 S     뽑는 번호는 0 또는 자연수이다. 3. 의사결정     1) 학생 수 S를 받고, 길이가 S인 배열 pop과 리스트 line을 만든다.        * ArrayList를 사용하면 중간 삽입 시 뒷 요소가 하나씩 밀리고, 중간에 빈 공간 없이 연속된 자료구조이므로 적절.     2) pop : 뽑은 번호를 입력값으로 받아서 하나씩 넣는다.     3) line : 뽑은 번호에 따라 ..

Algorithm 2024. 11. 16. 09:57

20291. 파일 정리

처음에는 for문을 사용해서 풀었다.1. 문제 분석     1) 파일의 개수 N이 주어진다.     2) 둘째 줄부터 파일의 이름(소문자+점)이 주어진다.     3) 확장자를 기준으로 분류하고, 확장자가 여러개인 경우 확장자 이름의 사전순으로 (확장자 이름 + 개수)를 출력한다. 2. 제약 조건     1     3     점은 한 번 등장하며, 파일 이름의 처음 또는 마지막에 오지 않는다. 3. 의사결정     1) N을 입력받고, N만큼 for문을 돌린다.     2) hashMap을 만들어서 key에는 확장자를, value에는 여러개의 파일명을 넣어준 뒤     3) key를 사전순으로 정렬하고     4) key값 + value개수 출력한다. 4. 문제 해결     1) hashmap을 key기..

Algorithm 2024. 11. 15. 13:26

2908. 상수

1. 문제 분석     1) 공백으로 구분된 세 자리 수 2개가 주어진다.     2) 각 수를 뒤집은 뒤 큰 수를 출력한다. 2. 제약 조건     두 수는 같지 않은 세 자리 수이며, 0이 포함되어 있지 않다. 3. 의사결정     1) StringTokenizer로 세 자리 수 2개를 입력받는다.     2) 각 수를 뒤집은 뒤 비교하여 큰 수를 출력한다. 4. 문제 해결     1) String 대신 StringBuffer 또는 StringBuilder를 사용하면 문자열을 편집할 수 있다.        StringBuffer는 멀티쓰레드에 안전하도록 설정되어있으므로,        멀티쓰레드로 작성된 프로그램이 아닌 경우 StringBuilder를 사용하는 것이 성능 면에서 좋다.     2) if..

Algorithm 2024. 11. 15. 11:51

1152. 단어의 개수

1. 문제 분석     1) 영어 대소문자 + 공백으로 이루어진 문자열이 주어진다.     2) 단어는 공백으로 구분된다.     3) 단어의 개수를 세서 출력한다.     4) 문자열의 처음과 끝에 공백이 들어갈 수 있다. 2. 제약 조건     문자열의 길이 3. 의사결정     1) 문자열 S를 입력받는다.     2) StringTokenizer를 사용해 공백 기준으로 분리한다.     4) 토큰 길이를 출력한다. 4. 문제 해결     1) countTokens() : StringTokenizer가 가지고 있는 토큰의 개수 반환     2) split()은 무조건 하나 이상의 배열을 출력하기 때문에 문자열에 공백만 있을 경우 1을 반환하지만        StringTokenizer의 경우 0을 ..

Algorithm 2024. 11. 15. 11:29

26041. 비슷한 전화번호 표시

1. 문제 분석     1) 문자열 A와 전화번호 B가 주어진다.     2) 전화번호 B의 접두사에 대해 문자열 A에 몇 개 포함되어있는지 센다.     3) 단, 접두사와 완전히 똑같은 경우는 제외한다. 2. 제약 조건     1 ≤ n ≤ 100,000     2 ≤ 문자열 A 길이 ≤ 1,000,000     2 ≤ 전화번호 길이 ≤ 10     전화번호는 문자 ‘1’ ~ 문자 ‘9’로 이루어진 문자열이다 3. 의사결정     1) 문자열 A를 입력받고, 공백으로 구분하여 String[]에 저장한다.     2) 전화번호 B를 입력받고, 가능한 접두사에 대해 for문을 돌린다. 비교를 위해 문자열로 받는다.     3) String[]을 순회하면서 해당 접두사로 시작하는 요소를 센다.     4)..

Algorithm 2024. 11. 15. 10:42

추가 정보

인기글

최신글

페이징

이전
1 ··· 7 8 9 10 11 12
다음
TISTORY
Learn From Failure © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바