백준(브론즈2) - 13458. 시험 감독(브론즈2) 풀이 감독관의 수를 저장하는 값이 너무 커질 수 있으니 int보다는 long을 써야한다! 이것때문에 3번인가 틀렸다ㅠㅠ 변수의 크기 조심하기만 하면 쉽게 풀리는 문제이다. 총 감독관은 무조건 한명은 들어가게 된
백준(실버3) - 11726. 2xn 타일링(실버3)
백준(브론즈2) - 11720. 숫자의 합(브론즈2)하나하나 구분해줘서 int로 바꿔주는 방법보다는 아스키코드를 생각하면 간단하게 풀 수 있다!
백준(브론즈3) - 10818. 최소, 최대(브론즈3) 풀이
백준(브론즈3) - 20361. 일우는 야바위꾼(브론즈3)x를 간식이 들어있는 종이컵이라고 한다. 만약 입력받은 수 A,B 중에 x가 있으면, x가 아닌 다른 수를 x로 바꿔준다! A가 x의 값이라면 x에 B를 넣어주고, B가 x라면 x에 A의 값을 넣어주면 된다!
백준(실버5) - 10867. 중복 빼고 정렬하기(실버5) 풀이 자료구조의 특성을 이용하면 쉽게 풀 수 있는 문제이다. Set을 사용하면 된다! Set중에 HashSet과 TreeSet이 있는데 HashSet은 음수까지는 정렬이 잘 안된다. 그 이유는 다음 포스팅에
백준(실버5) - 17521. Byte Coin(실버5)로직은 간단하다. 다음날에 오르면 사고, 떨어지면 판다.그런데 두번이나 틀렸다.. 이유는 w와 coin의 값이 커져서 int형의 범위를 넘어갈 수 있기 때문이다..long으로 선언해주어야 한다!!!!
백준(브론즈2) - 20299. 3대 측정(브론즈2)
백준(실버5) - 1158. 요세푸스 문제(실버5) 풀이 큐를 이용하면 쉽게 풀 수 있다. n만큼의 사람을 queue에 넣어준다. queue에 있는 사람이 한명 남을 때까지 -> 출력때문에 isEmpty를 안썼다. 앞에 있는 사람을 k-1번 빼주는 것을 반복해준다. (이때, 빼준 사람은 다시 queue에 넣어준다) while문 안의 for문을 나와서 빼...
백준(브론즈2) - 1152. 단어의 개수(브론즈2) 풀이 첫단어 앞에 띄어쓰기가 있을 수 있다는 예외를 처리하는걸 깜빡했었다. 예외를 하나하나 만들어줬는데.. StringTokenizer의 특징을 쓰면 간단하게 해결할 수 있다는걸 뒤늦게 다른사람의 코드를 보고 알았다. countTokens라는 메소드는 나중에 요긴하게 쓰일 것 같다!
백준(실버5) - 2563. 색종이(실버5) 풀이 처음 봤을때 겁먹었는데, 막상 풀어보니 10분컷이었당ㅎ 가로, 세로의 크기가 각각 100인 흰색 도화지를 2차원 배열로 선언해주었다. 그리고 입력받은 x,y를 기준으로 각각 가로와 세로가 10인 정사각형 안에 들어가는 범위들을 모두 1로 바꾸어주었다. map이 1이면 count++을 해주었는데, 그냥 c...
백준(실버5) - 14501. 퇴사(실버4)재귀로 풀었다!약간 부분집합 생각하면서 풀게 되었다.각 요일마다 2가지의 선택지가 있다. 해당 날에 상담을 할 경우와 하지 않을 경우!상담을 하지 않은 날에는 날짜만 하루 올려주고 다시 solve를 호출한다.선택했을 경우에는
백준(실버3) - 16935. 배열 돌리기3(실버3) 풀이 어렵다기보다는 구현해야 하는 함수가 많아서 시간이 걸렸던 문제이다.
백준(실버5) - 10809. 알파벳 찾기(브론즈2)indexOf라는 함수를 이용해서 문제를 풀어줬다.
백준(브론즈2) - 15596. 정수 N개의 합(브론즈2) 풀이 왜 브론즈2나 되는지 모르겠당..
백준(실버2) - 1182. 부분수열의 합(실버2) 풀이 문제에서 어떻게 풀어야하는지 바로 힌트를 줬다. 부분수열로 풀었다! 비트 마스크로 푸는 방법도 있던데 추가적으로 학습해봐야겠다!
백준(실버1) - 2961. 도영이가 만든 맛있는 음식(실버1)부분집합을 이용하면 쉽게 풀리는 문제였다!변수의 범위와 곱은 1부터, 합은 0부터 시작해야 한다는 것과 공집합은 제외시켜주어야 한다는 것만 주의해주면 되는 문제다.Java 절댓값Math.abs();
백준(실버3) - 9461. 파도반수열(실버3) 풀이 파도반 수열을 나열하면 아래와 같이 나온다. 1,1,1,2,2,3,4,5,7,9,12,16,21,28,37,49,65,86,114,151,200,265,,, 4는 2+2 5는 3+2 7은 3+4 9는 4+5 이다
백준(골드5) - 9663. N-Queen(골드5) 풀이 체스 룰을 모르는데 알고리즘으로 풀려고 하니까 너무 피곤했다.. 문제는 안어려운데 퀸의 이동이 이게 맞나? 하고 확신을 못했다. 결국 인터넷에 퀸의 이동방향을 쳐보고 나서야 문제를 풀었다;ㅡ; 해당 구역이 비어있고, 다른 퀸들에게 공격받지 않은지만 체크(isValid) 해주면 되었다.
백준(실버3) - 14889. 스타트와 링크(실버3)
오늘 잠깐 푼 문제
배열의 크기를 동적으로 설정했을 경우에는 n이 1인 경우를 생각해줘야한다.
BufferedReader와 BufferedWriter만 쓰면 풀리는 문제였다.ㅠㅠ 앞으로는 System.out.println() 안써야지
백준(실버4) - 1049. 기타줄(실버4)
백준(실버1) - 14891. 톱니바퀴(실버1) 풀이 톱니바퀴 상태 입력 회전 횟수와 방법 입력 (1번톱니의 2, 2번 톱니의 6), (2번톱니의 2, 3번 톱니의 6), (3번톱니의 2, 4번 톱니의 6) 3-1. 비교해서 극이 같다면 반대 방향으로 톱니를 돌리고 3-2. 비교해서 극이 다르다면 그대로 두고 로직을 먼저 생각하고 해당 로직들을 함수로 ...
백준(실버2) - 17829. 222-풀링 (실버2) 풀이 입력받기 2*2로 나누기 2*2로 나뉜 행렬에서 두번째 값 찾기 값 넣기 1*1이 아니면 2번으로 돌아가서 계속 반복하기 위의 순서대로 풀어주면 바로 나온다! 천천히 생각해보고 로직을 써보면 빨리 답을 찾을 수 있게 된다. 요즘 문제풀기 전에 어떻게 풀지 미리 주석으로 쓰고 푸는데, 이런 과정을...
백준(브론즈1) - 1110. 더하기 사이클(브론즈1) 풀이
백준(브론즈4) - 1330. 두 수 비교하기(브론즈4)
백준(실버5) - 1475. 방 번호(실버5)
백준(골드4) - 1987. 알파벳(골드4) 풀이
백준(실버4) - 2217. 로프(실버4) 풀이
]
백준(브론즈4) - 14681. 사분면 고르기(브론즈4) 풀이
백준(실버1) - 14888. 연산자 끼워넣기(실버1) 풀이 순열로 풀었다!!!
백준(브론즈2) - 15552. 빠른 A+B(브론즈2) 풀이 BufferedReader가 핵심!
백준(골드5) - 1759. 암호 만들기(골드5) 생각없이 그냥 본다면 순열이라고 착각할 수 있는 문제라고 생각했다. 하지만 암호를 이루는 알파벳이 암호에서 증가하는 순서로 배열되었을 것이라는 말에서 순열이 아니라 조합으로 풀어야 한다는 것을 알 수 있다. 친절하게 abc는 가능성이 있는 암호이지만 bac는 그렇지 않다고도 나와있다. 풀이
백준(브론즈2) - 10953. A+B - 6(브론즈2) 풀이
백준(브론즈5) - 10430. 나머지(브론즈5) 풀이
백준(실버5) - 10610. 30(실버5) 풀이
백준(브론즈5) - 10718. We love kriii(브론즈5) 풀이
백준(골드5) - 14502. 연구소(골드5) 풀이 dfs와 bfs를 둘다 사용하는 문제였다. 우선 벽을 세울 수 있는 곳에 벽 3개를 설치한다. 다만 다 설치하고 난 뒤 돌아올때는 해당 벽을 다시 돌려놓아야 한다. 벽 3개를 다 설치하면 바이러스가 상하좌우로 인접한 빈칸으로 모두 퍼져나간다. => virus(); 바이러스는 bfs를 이용해서 풀었다. ...
백준(실버1) - 2565. 전깃줄(실버1) 풀이 처음에는 어떻게해야 교차하는 전깃줄을 찾아내지?라는 생각을 하고 있었는데 조금만 더 생각해보니 굳이 교차하는 전깃줄을 찾을 필요가 없었다. 역발상으로 전깃줄이 교차되지 않는 가장 긴 경우의 수를 구하고, 전체에서 그 길이를 빼면 교차되는 전깃줄을 구할 수 있다.
백준(실버5) - 1755. 숫자놀이(실버5) 풀이 숫자와 숫자 단위로 하나씩 읽은 영어를 하나로 묶어주기 위해 Num이라는 class 생성 m이상 n이하의 정수들을 Num class 배열에 넣는다. 2-1. 정수들을 알맞게 각 숫자의 단위마다 읽어준다. ex) 80 -> eight zero 배열을 알파벳 순으로 정렬해준다. 한줄에 10개씩 출력해준다....
백준(실버2) - 1931. 회의실 배정(실버2) 풀이
백준(실버5) - 1541. 잃어버린 괄호(실버2) 풀이
백준(실버4) - 13305. 주유소(실버4) 풀이
월요일₩\~~과제 올리기!
dp와 dfs로 풀었다
sort가 핵심!
백준(실버1) - 9084. 동전(실버1) 풀이 누적!
백준(골드5) - 9207. 페그 솔리테어(골드5) 풀이 알고리즘 스터디에서 풀었던 문제이다. 백트레킹 + dfs를 적용하면 쉽게 풀 수 있는 문제였다! 문제 푸는 법보다는 해석이 오래걸린것 같다..ㅎ 우선 map에서 핀을 만나면 현재 위치에서 여러가지 방향으로 옮기는 가능성을 봐야하므로 dfs를 실행한다! 4방탐색으로 갈 수 있는 위치의 좌표의 값...
백준(실버5) - 12927. 배수 스위치(실버4) 풀이
백준(실버3) - 11399. ATM(실버3) 풀이 sort가 포인트다!!
백준(골드5) - 9252. LCS2(골드5)월요일!!풀문제!!
수요일11
목ㅇ요리
토요일!1
일요일
https://www.acmicpc.net/problem/1958처음에는 첫번째 문자열과 두번째 문자열을 비교한 후, 그 결과를 세번째 문자열과 비교하면 된다고 생각을 했었다.그렇게 된다면 많은 예외케이스가 나오게된다.s1 = aaaacdes2 = aaaacd