본문 바로가기

나는 오늘,

(371)
[SWEA 2001][D2][JAVA] 파리퇴치 [문제] N x N 배열 안의 숫자는 해당 영역에 존재하는 파리의 개수를 의미한다. M x M 크기의 파리채를 한 번 내리쳐 최대한 많은 파리를 죽이고자 한다. 죽은 파리의 개수를 구하라! [풀이방법] M*M크기의 파리채 만큼의 칸에 적힌 최대값을 구하는 문제입니다. 가장 직관적으로 접근하는 방법은 현재 있는 칸을 기준으로 M만큼 순차적으로 증가시킨 칸에 적힌 수를 더하는 것입니다. 더한 결과 중 최대값을 구하면 죽은 파리의 최대 개수를 구할 수 있습니다. for (int i = 0; i
[SWEA 2007][D2][JAVA] 패턴 마디의 길이 [문제] 패턴에서 반복되는 부분을 마디라고 부른다. 문자열을 입력 받아 마디의 길이를 출력하는 프로그램을 작성하라. [풀이방법] 비교 문자 (j)를 0번째 인덱스로 두고 i번째 문자가 j와 일치할 때 j를 증가시킵니다. 만일 일치하지 않다면 j는 0을 유지합니다. (i번째 문자는 계속 0번째 j와 비교하게 됨) 0번째 문자와 일치하는 문자가 나온다면 그게 바로 다음 패턴마디의 시작 인덱스가 됩니다. for (int k = 0; k
[SWEA][D2][JAVA] 간단한 369게임 [문제] 게임 규칙 : "3" "6" "9"가 들어가 있는 수를 말하지 않는대신, 박수를 친다. 이 때, 박수는 해당 숫자가 들어간 개수만큼 쳐야 한다. 예를 들어 숫자 35의 경우 박수 한 번, 숫자 36의 경우 박수를 두번 쳐야 한다. 입력으로 정수 N 이 주어졌을 때, 1~N 까지의 숫자를 게임 규칙에 맞게 출력하는 프로그램을 작성하라. 박수를 치는 부분은 숫자 대신, 박수 횟수에 맞게 “-“ 를 출력한다. 여기서 주의해야 할 것은 박수 한 번 칠 때는 - 이며, 박수를 두 번 칠 때는 - - 가 아닌 -- 이다. [풀이 방법] 2자리 수 이상부터는 십의 자리와 일의 자리에서 3/ 6/ 9가 있는지 판단 해야하기 때문에 십의 자리와 일의자리를 구분합니다. (a= i / 10 , b = i % 10)..