분류 전체보기 562

[3040] 백설 공주와 일곱 난쟁이 in Java

https://www.acmicpc.net/problem/3040 3040번: 백설 공주와 일곱 난쟁이 매일 매일 일곱 난쟁이는 광산으로 일을 하러 간다. 난쟁이가 일을 하는 동안 백설공주는 그들을 위해 저녁 식사를 준비한다. 백설공주는 의자 일곱개, 접시 일곱개, 나이프 일곱개를 준비한다. www.acmicpc.net 문제 요약 의자 , 접시, 나이프 : 7개 난쟁이 : 9명 (진짜 난쟁이는 7명) 모자 100보다 작은 양의 정수가 적혀있다. (진짜 난쟁이) 일곱 난쟁이의 모자에 쓰여있는 숫자의 합 == 100 접근 방식 - 순열을 이용해서 아홉 난쟁이 중에 일곱 난쟁이를 골라냈다. - 그리고 골라낸 난쟁이가 진짜인지 확인 - 진짜라면 answer 배열에 일곱 난쟁이 넣기 HTML 삽입 미리보기할 수 ..

[*16637*] 괄호 추가하기 in Java

https://www.acmicpc.net/problem/16637 16637번: 괄호 추가하기 첫째 줄에 수식의 길이 N(1 ≤ N ≤ 19)가 주어진다. 둘째 줄에는 수식이 주어진다. 수식에 포함된 정수는 모두 0보다 크거나 같고, 9보다 작거나 같다. 문자열은 정수로 시작하고, 연산자와 정수가 www.acmicpc.net 접근 방식 - 괄호가 아예 없는 경우부터 시작한다. - 그리고나서 맨끝에서부터 괄호를 채우면서 값을 구해나가는 방식 - 여기서 주의해야할 것은 현재 탐색중인 연산자 배열의 인덱스(opidx)가 맨 끝에 있는 연산자면 괄호를 추가할 수 없다. 아래 그림에서 보면 opidx < 연산자 배열.size()를 만족해야만 괄호를 넣어서 값을 계산할 수 있다. 하지만 위 방식을 떠올리지못해서 ..

[1074] Z in Java

https://www.acmicpc.net/problem/1074 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 www.acmicpc.net 문제 요약 배열 크기 : 2^N X 2^N 방문 순서 : → ↙ → (총 4칸, 출발지 포함, 행은 1행, 3행, 5행 ...) r행 c열을 몇번째로 방문하는지 출력하기! 접근 방식 및 시행 착오 - 처음에 주어진 r, c까지 for문으로 돌려볼 생각이었다. 문제에서 주어진대로 Z를 따라가는 방식을 구현하려고 했는데 그렇게 되면 시간초과가 난다. 이 문제에서 주어진 시간은 0.5초이기 때..

[2839] 설탕 배달 in Java

https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 문제 요약 N킬로그램을 배달해야 한다. 봉지의 수는 최소개수여야함. 봉지 종류 : 3킬로그램, 5킬로그램 접근 방식 및 시행착오 - 처음에 생각했던 방식은 예외 상황이 있는 케이스였다. n을 5로 나눴을 때의 나머지가 3이라면 유효한 값이 나오고 그게 아니라면 -1을 나오게끔 처리했다. 그랬더니 예를 들어 19라는 숫자에서 오류가 발생했다. 19를 5로 나눈 나머지는 4이다. 위에 짠 코드대로라면 -1이 나..

[17070] 파이프 옮기기 1 in Java

https://www.acmicpc.net/problem/17070 17070번: 파이프 옮기기 1 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 www.acmicpc.net 문제 요약 - 1 HTML 삽입 미리보기할 수 없는 소스

[1010] 다리 놓기 in Java

https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net 접근 방식 nCr을 사용하여 계산을 바로 해주는 방법을 사용함 nCr은 조합 개수를 구하는 공식 (n! / (n-r)! ) / r! 시행 착오 - 처음엔 중복 없는 조합을 떠올렸음 그래서 조합을 구하는 재귀를 돌려서 했으나 시간초과 - findAnswer이라는 함수와 변수 answer의 타입을 모두 int로 설정해주었을 때 아래 예시를 돌리면 정답이 아닌 0이 나오는 오류가 발생함 예시) 1 / ..

[16935] 배열 돌리기 3 in Java

https://www.acmicpc.net/problem/16935 16935번: 배열 돌리기 3 크기가 N×M인 배열이 있을 때, 배열에 연산을 R번 적용하려고 한다. 연산은 총 6가지가 있다. 1번 연산은 배열을 상하 반전시키는 연산이다. 1 6 2 9 8 4 → 4 2 9 3 1 8 7 2 6 9 8 2 → 9 2 3 6 1 5 1 8 3 4 2 9 → www.acmicpc.net 접근 방식 시행 착오 - 3,4번 연산시 배열의 행과 열이 바뀔 수 있다는 걸 생각하지 못했음 행과 열이 바뀔 수 있으니 수시로 n,m을 갱신해줘야함 (refresh() 함수 이용) - 1,2번 연산시 새로운 newArray에 값을 담고, 깊은 복사를 통해 array에 다시 넣으려고 함. 그런데 temp 변수 하나만을 이..

[1233] 사칙연산 유효성 검사 in Java

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV141176AIwCFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 접근 방식 본인 위치, 연산자, 왼쪽 자식노드, 오른쪽 자식 노드 본인 위치, 숫자 위와 같이 입력이 되었을 때 1 출력 시행 착오 - hasMoreTokens() 사용법을 몰라서 헤맸던 문제 위 메소드는 StringTokenizer에 사용할 수 있는 토큰이 있는지 확인하는 메소드! 만약 존재한다면 true, 존재하지 않는다면 false를 반환한다. import java.io.BufferedRead..

카테고리 없음 2022.08.09

[2563] 색종이 in Java

https://www.acmicpc.net/problem/2563 2563번: 색종이 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 www.acmicpc.net 문제 요약 흰색 도화지 : 100 x 100 검은색 정사각형 크기 : 10 x 10 검은색 정사각형의 변과 흰색 도화지의 변이 평행하도록 붙인다. *** 색종이가 붙은 검은 영역의 넓이 구하기 *** 접근 방식 101 x 101 크기의 boolean 배열을 만들고 색종이의 위치를 기록하면서 색종이가 붙은 영역의 넓이를 구함 1234567891011121314151617181920212223242526..