TIL (127) 썸네일형 리스트형 Basic Algorithm 10th 사용자로부터 입력받은 문자열에 등장한 알파벳 출력하기 사용자로부터 문자열을 입력받고 그것을 String 타입으로 text라 칭한다 알파벳에는 대문자 소문자가 존재하므로 int형 배열 lowercount에 소문자 26자를 넣을 예정이고, int형 배열 uppercount에 대문자 26자를 넣을 예정이다 len을 입력받은 문자열 text의 총길이라 칭하고 반복문을 i=0 부터 총길이 len까지 반복할 것이다 문자열 text에 각각의 인덱스에 해당하는 문자를 ch라 칭하고 가정문을 걸어 각각의 알파벳을 미리 만들어 두었던 배열에 넣을 것이다 만일 ch가 a 보다 크고 z 보다 작을 때에는 소문자 배열 lowercount [ch - 'a']에 넣을 것이다 여기서 ch - a 를 하는 이유는 만.. Basic Algorithm 9th 사용자로부터 두 개의 숫자를 입력받고 두 수의 최대공약수 구하기 원래는 Scanner 를 통해 두 수를 입력받아야 한다. 편의상 num 1 = 20 , num 2 = 50으로 지정하였다 Math.max(x,y) 는 x, y 중에 큰 수를 의미하고 이것을 max로 지칭한다 Math.min(x, y)는 x, y 중에 작은 수를 의미하고 이것을 min으로 지칭한다 gcd 를 int 형식으로 아무 숫자나 집어넣는다 gcd의 역할은 반복문 i 를 초기화시켜주는 역할이다. 반복문을 통해 1부터 작은숫자까지 숫자를 진행시키는데 (작은 숫자까지만 해도 최대공약수는 나오기 때문) 가정문을 통해 min 과 max 가 동시에 i로 나누어 떨어지는 값이 0 일 때만 gcd에 값을 넣어주고 위에 예시로는 공약.. Basic Algorithm 8th 사용자로부터 초를 입력받으면 *년*일*시*분으로 환산해서 출력하기 Scanner로 사용자로부터 입력받은 초를 int 타입 second로 지칭한다 미리 3개의 배열을 만들어 놓는데, 1. int converted 배열 = 나중에 초를 해당 년/일/시/분으로 나눈 값들을 담을 배열 2. int seconds 배열 = 초를 나눌 값들을 담을 배열 3. String units 배열 = {"년","일","시","분"} Basic Algorithm 7th 369게임 만들기 - 입력받은 숫자까지의 3,6,9 일 때 박수 개수 출력하기 Scanner를 통해 사용자로부터 숫자를 입력받고 그 숫자를 int형 변수로 user라 지칭한다 for문을 통해 user까지의 숫자를 반복하게 하고, 그 안에 가정문을 넣어 박수갯수를 세는 것으로 코드를 짠다 if문을 통해 일의자리 숫자 먼저 count에 넣는다 (3/6/9) else로 십의자리 숫자에서의 박수 개수를 세는데, n1 은 반복하는 숫자가 10 으로 나눴을 때의 숫자 = 즉, 10의 자리의 숫자 n2는 반복하는 숫자가 10으로 나눴을 때의 나머지 숫자 = 즉, 1의 자리의 숫자로 지칭 boolean 타입으로 십의 자리의 숫자 (n1) 이 3/6/9 중에 하나 일때, a1 = true, boolean .. Basic Algorithm 6th 1. (베스킨 라빈스 31 게임) 컴퓨터랑 게임하기 구현 컴퓨터와 플레이어의 턴을 잡기 위해 임의로 컴퓨터를 0 / 플레이어를 1로 지정한다 int turn => 랜덤으로 0과 1중에 하나만 뽑게 한다 (컴퓨터 내부에서) 가정문을 사용하여, 만약 0이 뽑혔다면 컴퓨터 선공으로 지정하고 0이 아닌 1로 뽑혔다면 플레이어가 선공! While문을 사용하여 숫자 num이 31보다 작을 시에는 계속 게임을 진행시키게 한다 여기서 While을 사용하는 이유는 증가폭을 지정하지 않아도 되기 때문에! (컴퓨터나 플레이어나 숫자를 몇을 외칠지 모르기 때문) 그리고 While문 안에 가정문 If를 걸어서 turn == 0 일 때, 즉 컴퓨터 차례일 때 int com = 을 1,2,3 중에 하나 고르게 하기 위해.. Basic Algorithm 5th 1. 사용자로부터 입력받은 숫자까지의 소수만 출력하기 (소수란 약수가 1과 자기 자신만 있는 것) Scanner를 통해 사용자로부터 입력받은 값을 Int형식으로 num에 넣는다 음수에는 소수가 없기 때문에 반복문을 통해 num이 음수일 때는 다시 입력하라는 메시지를 띄워준다 체크넘버(chkNum) 는 2부터 입력받은 num까지 반복문을 돌리는데 2부터 시작하는 이유는 0,1 은 소수가 아니기 때문이다 그리고 다중 반복문으로 나누는숫자(divNum) 을 chkNum까지 반복시켜준다 다중 반복문안에 만약 체크 넘버를 divNum으로 나눴을 때 나머지가 0인 경우 count를 올려준다 쉽게 설명해서 체크넘버가 2일 경우 - divNum = 1부터 2까지 2 % 1 == 0 (카운트 추가) 2 %.. Basic Algorithm 4th 1. 사용자가 입력한 문자열에 알파벳이 포함되어 있으면 true, 없으면 false Scanner를 이용하여 사용자로부터 문자열을 입력받은 후 그것을 user로 칭한다 문제 자체에 true/false로 값이 나와야 한다고 언급이 되었기 때문에, boolean 타입으로 contain을 false로 미리 지정해놓는다 반복문을 통해 user 문자열에 포함된 각각의 문자들을 검사하는데 코드를 줄이기 위해 char ch 를 charAt함수를 이용하여 각 인덱스라고 지칭한다 그 후, ch 가 알파벳인지 검사하면 되고, 문자가 알파벳일시 contain을 true로 바꿔주고 break를 통해 반복문을 빠져나오면 된다 만약에 문자열 user에 알파벳이 없다면 contain 은 기존에 지정해놓았던 false로 계속 유.. Basic Algorithm 3rd 1. 사용자로부터 입력받은 문자가 회문(PALIDNROME) 일 경우와 아닐 때 구분하는 알고리즘 (회문은 쉽게 설명해서 데칼코마니 단어라고 생각하면 된다 / MOM / BOB / ABCBA.. ) (잘못된 예시입니다 따라하지 마세요!!) 처음에는 사용자로부터 입력받은 문자열을 String으로 user 안에 넣은 후에, 문자열에 가운데까지만 확인하는 반복문을 생성하고 그 안에 가정문을 사용하여 0 인덱스부터 출발 == 맨뒤에서 출발 이 같다면 회문을 출력하게끔 로직을 구성하였는데, 이렇게 코드를 짤 경우 MOM 같은 단어는 PALIDNROME이 한번 출력되지만 ABCBA 같은 경우는 PALIDNROME이 두 번 출력된다 즉, 반복되는 단어가 있을수록 PALIDROME도 추가적으로 출력된다는 문제점이 있었.. 이전 1 ··· 12 13 14 15 16 다음