[TIL] 0930
·
사회인 준비생/TIL
보호되어 있는 글입니다.
[TIL] 0929
·
사회인 준비생/TIL
보호되어 있는 글입니다.
[TIL] 0928
·
사회인 준비생/TIL
보호되어 있는 글입니다.
[TIL] 0927
·
사회인 준비생/TIL
보호되어 있는 글입니다.
[TIL] 0926
·
사회인 준비생/TIL
보호되어 있는 글입니다.
[TIL] 0925
·
사회인 준비생/TIL
보호되어 있는 글입니다.
[BOJ:1342 / JAVA] 행운의 문자열
·
Algorithm/BOJ & SWEA
https://www.acmicpc.net/problem/1342 1. 문제 요약 입력받은 문자열에 대해서 서로 인접해있는 문자가 같지 않은 문자열이면 행운의 문자열 이라고 한다. 문자열 내의 문자를 재배치하여 인접해 있는 문자가 서로 같지 않게 만들어 행운의 문자열이 몇개 나오는지 개수를 세는 문제 2. 알고리즘 (접근 방법) ○ 백트래킹 + DFS (재귀) 1. 해당 문자들을 재배치하기 위해서는 문자열내의 문자가 각각 몇개씩 있는지 셀 수 있는 카운트 배열을 두었다. char[] strArr = str.toCharArray();for(char ch : strArr) { int x = ch - 'a'; count[x]++;}입력받은 문자열을 문자 배열로 만들어준다. 반복문을 돌리..
[TIL] 0924
·
사회인 준비생/TIL
보호되어 있는 글입니다.
[BOJ: 1005/ JAVA] ACM Craft
·
Algorithm/BOJ & SWEA
https://www.acmicpc.net/problem/1005 1. 문제 요약특정 건물을 가장 빨리 지을 때까지 걸리는 최소 시간을 알아내는 프로그램 ※ 주의할 점 최소 시간을 알아내는 프로그램 이라지만, 동시에 건축을 해야하는 건물의 경우 그 건물들이 모두 건축이 완성되어야 다음 건물을 건축할 수 있기 때문에 최소 시간을 그리 신경쓸 필요 없는 듯 하다. 2. 알고리즘 (접근 방법) ○ 위상 정렬 방식 (Queue) 여기서 정점은 건축물을 말하는 것이며, 진입차수는 해당 건축물과 연결된 이전 건축물과의 간선이 몇개인지를 말하는 것이다. 1005번 사진에서는 1, 2, 3, 4 건축물들이 모두 정점임을 의미하고, 1번 정점이 3번 정점과 연결되어 있고 이를 간선이라고 표한다. 여기서 3번 정점..
[BOJ: 7785/ JAVA] 회사에 있는 사람
·
Algorithm/BOJ & SWEA
https://www.acmicpc.net/problem/7785 1. 문제 요약출퇴근 로그를 통해 현재 회사에 있는 모든 사람을 구하는 프로그램 작성 ※ 주의할 점 현재 회사에 있는 사람의 이름을 사전 순의 역순으로 출력해야 한다. 2. 알고리즘 (접근 방법) ○ 첫번째 방식 (HashMap - Array.sort) 1. HashMap 을 이용하여, 직원 이름을 Key 값으로 삼고, "enter" 인 상태일 때만 HashMap 에 put 해주었다. 2. 기존에 "enter" 로 Map에 저장된 직원이 "leave" 로그로 입력받은 경우, 직원이름 Key 를 호출하여 해당 직원을 Map 에서 삭제 해주었다. 3. "enter" 로 Map 에 저장되어 있는 직원들의 이름이 역순으로 정렬해주..