본문 바로가기

전체 글

(32)
[Java/Silver5] 백준 4673번: 셀프 넘버 문제 링크https://www.acmicpc.net/problem/4673 분류브루트포스 알고리즘, 구현, 수학문제 설명셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다.양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다.예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다. 이런식으로 다음과 같은 수열을 만들 수 있다.33, 39, 51, 57..
[Java/Silver4] 백준 10828번: 스택 문제 링크https://www.acmicpc.net/problem/10828분류자료 구조, 구현, 스택문제 설명정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오.명령은 총 다섯 가지이다.push X: 정수 X를 스택에 넣는 연산이다.pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다.size: 스택에 들어있는 정수의 개수를 출력한다.empty: 스택이 비어있으면 1, 아니면 0을 출력한다.top: 스택의 가장 위에 있는 정수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다.입력첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 ..
[Java/Silver5] 백준 1789번: 수들의 합 문제 링크https://www.acmicpc.net/problem/1789분류그리디 알고리즘, 수학문제 설명서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최댓값은 얼마일까?입력첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다.출력첫째 줄에 자연수 N의 최댓값을 출력한다. 성능 요약메모리: 14304 KB, 시간: 108 ms접근 방법N이 최대가 되려면 1부터 차례대로 더해야 한다.그래서 1부터 차근차근 더해가면서, 합한 값이 S가 되거나 초과하게 되면 멈추도록 했다.만약 합한 값(sum)이 S를 초과하게 되어도 'sum - S'의 값을 S에서 빼기만 하면 조건은 만족하기 때문이다. 예를 들어, S가 12로 주어졌다면1+2+3+4+5 = 15이므로 5를 ..
[Java/Silver4] 백준 1026번: 보물 문제 링크https://www.acmicpc.net/problem/1026분류그리디 알고리즘, 수학, 정렬문제 설명옛날 옛적에 수학이 항상 큰 골칫거리였던 나라가 있었다. 이 나라의 국왕 김지민은 다음과 같은 문제를 내고 큰 상금을 걸었다.길이가 N인 정수 배열 A와 B가 있다. 다음과 같이 함수 S를 정의하자.S = A[0] × B[0] + ... + A[N-1] × B[N-1]S의 값을 가장 작게 만들기 위해 A의 수를 재배열하자. 단, B에 있는 수는 재배열하면 안 된다.S의 최솟값을 출력하는 프로그램을 작성하시오.입력첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각..
[Java/SpringBoot] Spring Security 사용 시 특정 url들의 필터 무시가 작동되지 않았던 문제 문제 상황 & 코드특정 url들은 보안 필터를 거치지 않도록 설정했으나, 해당 설정이 먹히지 않는 현상이 발생했다.@Configuration@EnableWebSecuritypublic class SecurityConfig { @Autowired private TokenProvider tokenProvider; private final String[] allowedUrls = {"/", "/nickname/**", "/sign-up/**", "/sign-in/**"}; // H2 콘솔 사용을 위한 설정 @Bean @ConditionalOnProperty(name = "spring.h2.console.enabled", havingValue = "true") public ..
[Java/SpringBoot] MySQL DB, JpaRepository(JPQL)를 활용했을 때의 오류 해결 문제 상황프로젝트를 진행하던 도중, h2 database로 로컬 환경에서 테스트 했을 때는 잘 작동되었으나, MySQL로 DB를 교체한 뒤 AWS에 서버를 배포하니까 오류가 났음.....오류 코드를 구글링 했을 때는 원하는 해결방법이 나오지 않아 조금 헤멨다가, 자세히 보니 SQL 테이블 관련해서 무언가 값이 나오지 않는 것 같아 Repository 클래스의 SQL문을 다른 방식으로 바꾸어서 해결했다. JOIN 시킬 때 해결 후 SQL문과 같이 명시적으로 조인 조건을 지정해줘야 되나보다.혹시나 나와 같은 에러로 고통받는 사람이 있을까 싶어 기록해둔다...... 오류 코드Cannot invoke "org.hibernate.sql.ast.tree.from.TableGroup.getModelPart()" b..
[C++] 백준 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰 문제동혁이는 오래된 창고를 뒤지다가 낡은 체스판과 피스를 발견했다.체스판의 먼지를 털어내고 걸레로 닦으니 그럭저럭 쓸만한 체스판이 되었다. 하지만, 검정색 피스는 모두 있었으나, 흰색 피스는 개수가 올바르지 않았다.체스는 총 16개의 피스를 사용하며, 킹 1개, 퀸 1개, 룩 2개, 비숍 2개, 나이트 2개, 폰 8개로 구성되어 있다.동혁이가 발견한 흰색 피스의 개수가 주어졌을 때, 몇 개를 더하거나 빼야 올바른 세트가 되는지 구하는 프로그램을 작성하시오.입력첫째 줄에 동혁이가 찾은 흰색 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수가 주어진다. 이 값은 0보다 크거나 같고 10보다 작거나 같은 정수이다.출력첫째 줄에 입력에서 주어진 순서대로 몇 개의 피스를 더하거나 빼야 되는지를 출력한다. 만약 수가 양수..
[Unity/C#] UI 위치가 원하는 대로 변경되지 않던 문제 GameObject button; void SwitchButton() { int xPos = -300; button.transform.position = new Vector3(xPos, button.transform.position.y, 0); } void Start() { button = GameObejct.Find("button"); SwitchButton(); } 처음에는 위와 같은 구조로 UI의 위치를 변경하려고 했는데, 이상하게 버튼이 x: -300 지점이 아닌 다른 위치로 변경되었다. 그래서 찾아보던 도중, UI는 캔버스 상에서 그려지는 것인데다가 앵커를 기준으로 좌표를 잡는다는 것을..깨달았다. 심지어 캔버스 상에 있는 오브젝트들은 transform이 아니라 rect transform을 쓰는..