https://www.acmicpc.net/problem/19637 19637번: IF문 좀 대신 써줘 첫 번째 줄에는 칭호의 개수 N (1 ≤ N ≤ 105)과 칭호를 출력해야 하는 캐릭터들의 개수 M (1 ≤ M ≤ 105)이 빈칸을 사이에 두고 주어진다. (1 ≤ N, M ≤ 105) 두 번째 줄부터 N개의 줄에 각 칭 www.acmicpc.net 문제생각 처음에는 n번 입력 받는 값을 dictionary 형태로 저장하고 m개의 값이랑 비교를 하면 될 것 같았습니다. 하지만 시간 제한과 입력받는 값의 범위를 보아하니 위의 방법은 통하지 않겠다고 생각하였습니다. 그래서 리스트에 인덱스도 사용하고자 했지만 입력받는 범위도 10^9 라서 메모리초과가 날거 같았습니다. 한참 고민하다가 알고리즘 분류를 보았..
https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 문제생각 1은 단순히 합을 구해서 평균을 구하면되는 것이고 2는 수의 개수가 홀수개라고 하였으니 정렬 후 n//2번째 인덱스를 선택하면 되는 문제였다. 3번 최빈값에서 조금 고민을 하였다. 나는 입력을 받을 때 dic 형식으로 key는 숫자, value는 숫자의 개수로 정하여 이를 반복문으로 비교하여 최빈값을 구하도록 하였다. 4번은 정렬된 리스트에서 마지막인덱스와 처음 인덱스를 빼주면되는 문제였다. 문제코드 ..
https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 문제생각 입력을 받고 단순히 비교를 통해 값을 구하면 된다고 생각하였다. 정답코드 n=int(input()) human=[] for _ in range(n): w, h=map(int, input().split()) human.append([w, h]) for i in range(n): num=1 for j in range(n): if(human[i][0]
https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 문제생각 어떻게 이미 연속된 문자가 나왔고 끝났는데 다시 같은 문자가 나왔는가를 어떻게 코드로 풀어낼까 고민을 해보았다. 그래서 나는 리스트 공간을 하나 활용하기로 했다. 문제풀이 문자를 입력받고 Loop를 돌린다. 알파벳 하나가 리스트(비교를 위한 공간, 내 코드에서는 stack) 안에 없다면 append한다. 만약 리스트안에 있고 리스트이 마지막 문자와 같지 않..
https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 문제생각 소수를 구하는 문제이다. 제한시간도 2초인데 주어진 수의 개수가 100개 이하이고 숫자도 1000이하의 자연수이니 그냥 수 하나하나가 소수가 맞는지 검증하는 코드를 짰다. 문제풀이 1은 소수가 아니므로 바로 False 반환 // 2는 소수이므로 바로 True 반환 2부터 int(num**0.5)+1까지 루프를 돌려 전달된 수가 소수인지 검증한다. main에 True가 반환되어오면 ans에 +1을 하여 결과를 출력한다 def solution(num): if(..
https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 문제생각 제한시간이 1초였지만 연산을 시행할 구간이 적어서 브루트 포스라고 생각하였다. 문제풀이 1부터 10000까지 모든 숫자를 이용해서 위의 식대로 계산한다. 이때 결과값에 대응되는 list의 값을 1로 바꾼다. list에서 0인 인덱스를 출력한다. n_list=[0]*10000001 s, t=0, 10 for num in range(1, 10..
- Total
- Today
- Yesterday
- Spring
- 회고
- springboot
- 7568
- 오류
- java
- 덧칠하기
- 백준#잃어버린 괄호#1541
- arraylist
- 대충 만든 자판
- 사탕 게임#백준#3085
- 게시판#자바#JPA#Entity
- 파이썬
- 스프링
- 백엔드#게시판
- 서블릿#Servlet
- querydsl
- 백준
- HTTP#HTTP특징
- controller
- 자바
- MVC
- 프로그래머스
- 4673번
- 1316번
- 백준#서강근육맨#20300
- this()
- 11659
- 1978
- list
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |