프로그래머스 AND 백준17 백준 26069번 python 말이 길지만 결국 "ChongChong" 과 같은 line에서 입력되면 count가 하나 늘어나는 구조 + 해당 입력값도 ChongChong과 똑같은 능력을 가진다는 말이다. 풀이: set을 하나 만들고 입력값 둘 중 하나가 set에 있다면 둘 다 set에 add하고 마지막에 length값을 출력한다. set은 중복을 허용하지 않으므로 중복된 값을 add해도 상관 없다. import sys input = sys.stdin.readline N = int(input().rstrip()) dancePeople = set(["ChongChong"]) for _ in range(N): persons = input().rstrip().split(" ") if persons[0] in dancePeople or pe.. 2023. 10. 25. 백준 25192번 java 풀이: array를 이용하면 문제는 풀 수 있지만 시간 초과가 나온다. 그렇기 때문에 dictionary인 hashmap이나 set(집합) hashset을 이용해서 풀면 된다. 또한 ENTER가 입력되면 해당 자료가 초기화되어야 하기 때문에 그 전에 size를 count에 더해주고 자료를 초기화한다. for문이 다 돌고 나면 마지막으로 size를 count에 더해주고 count를 출력한다. import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader.. 2023. 10. 24. 백준 25192번 python 입력값에 중복이 나오지 않는다면 count++를 해주고 "ENTER"가 나오면 list를 초기화해주면 된다. 다만 관건은 시간복잡도로, list를 이용하여 중복을 제거, (x not in lst), count, index 등을 이용한다면 시간복잡도는 O(n)이 된다. 거기다가 위에서 for문을 돌려야 하므로 결과적으로는 O(n^)이 된다. 즉, list가 아닌 시간복잡도 측면에서 우월한 ( x not in set의 값이 O(1)인) 집합(set) 또는 (사전)dictionary를 이용해야 한다. 풀이: 입력의 최대값은 100,000번 이므로 시간을 줄이기 위해 sys.stdin.readline()을 이용했다. 해당 구문을 사용하여 입력을 받으면 개행문자인 "\n"도 들어오므로 rstrip()을 통해 지워.. 2023. 10. 23. 백준 1037번 python 1과 N은 주어지지 않고 나머지 수만 주어진다. ex) 8의 약수는 1, 2, 4, 8이기 때문에 (4, 2)가 입력된다. 풀이: N의 약수가 순서대로 주어지면 마주보는 값의 곱은 N이다. ex) 1*8 = 8, 2*4 = 8 고로 입력된 값의 최대값과 최소값을 곱해주면 완료. 제곱수 의 경우: ex)25 list의 최소값은 5, 최대값도 5이기 때문에 동일한 결과가 출력된다. N = int(input()) lst = list(map(int, input().split(" "))) print(min(lst)*max(lst)) 2023. 10. 23. 백준 1037번 java 1과 N은 주어지지 않고 나머지 수만 주어진다. ex) 8의 약수는 1, 2, 4, 8이기 때문에 (4, 2)가 입력된다. 풀이: N의 약수가 순서대로 주어지면 마주보는 값의 곱은 N이다. ex) 1*8 = 8, 2*4 = 8 고로 Array를 만들어서 sorting 하고 0번째 인덱스와 마지막 인덱스 값을 곱해주면 완료. 제곱수 의 경우: ex)25 Array에 입력되는 값인 5를 제곱하여 출력되기 때문에 값은 동일하게 출력된다. import java.util.Scanner; import java.util.Arrays; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N.. 2023. 10. 23. 이전 1 2 3 다음