알고리즘 315

[백준, 파이썬, 1270번] 전쟁 - 땅따먹기

풀이 테스트 케이스 이후의 주어지는 입력값 중 첫 번째 값은 땅에 있는 병사수 이후의 값은 병사의 번호로 주어지며 해당 병사의 번호를 딕셔너리 기반으로 인원을 조사할 수 있도록 했으며 결과로는 땅에 있는 인원의 절반을 mx가 초과하지 못한다는 것을 기준으로 출력하여 해결 import sys input = sys.stdin.readline for _ in range(int(input())): dic = dict() mx = 0 li = list(map(int,input().split())) for i in range(1,li[0]+1): if dic.get(li[i]): dic[li[i]] += 1 else: dic[li[i]] = 1 mx = max(dic[li[i]],mx) result = 0 if m..

알고리즘 2024.02.12

[백준, 파이썬, 1269번] 대칭 차집합

풀이 집합 요소를 사용해서 풀면 되는 간단한 문제라고 생각했으며 단순히 예시에 나온 것처럼 A-B, B-A 를 더한 값을 결과로 내기엔 시간이 더 걸릴 것 같아서 교집합을 먼저 구한 다음 각 집합의 개수에 뺀 값을 더하여 문제를 해결 import sys input = sys.stdin.readline a_ln,b_ln = map(int,input().split()) a = set(map(int,input().split())) b = set(map(int,input().split())) inter = a.intersection(b) print(a_ln+b_ln-(2*len(inter)))

알고리즘 2024.02.12

[백준, 자바, 1120번] 문자열

풀이 해당 문제는 입력 받은 b의 문자열을 a 문자열이 한칸씩 이동하면서 가장 오답이 적은 cnt를 찾아 간단히 해결 result의 초기값을 50이라고 둔 것은 최대 길이가 50이라고 했기 때문. import java.io.*; import java.util.*; public class 문자열 { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); String a = st.nextToken(); char[] a_li = ..

알고리즘 2024.01.10

[백준, 자바, 1453번] 피시방 알바

풀이 해당 문제는 HashMap을 활용하여 1부터 100번자리까지 미리 만들어둔 다음 방문 손님의 번호에 따라 조건분기하여 해결 import java.io.*; import java.util.*; public class 피시방알바 { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Integer n = Integer.parseInt(br.readLine()); StringTokenizer st = new StringTokenizer(br.readLine()); HashMap dic = new HashMap(100); ..

알고리즘 2024.01.10

[백준, 자바, 1440번] 타임 머신

풀이 해당 문제는 순열을 활용하여서 단순하게 해결하고자 했으며 각 영역에 따른 조건 분기를 거친 후 result 값을 변경하여 해결하면 되는데 자바에선 파이썬처럼 순열을 만들어주는 라이브러리가 없다고 한다... ㅋ 그래서 재귀로 하나씩 직접 해결하도록 만들어 해결할 수 있었다. import java.io.*; import java.util.*; public class 타임머신 { static Integer result = 0; public static void main(String[] args) throws IOException{ BufferedReader br =new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new ..

알고리즘 2024.01.09