본문 바로가기

TIL/Java

(30)
Basic Algorithm 14th 1. 최댓값을 매개변수로 전달받으면 0부터 최댓값 미만의 모든 값을 포함하는 int 배열을 생성하여 반환하는 range 함수 만들기 첫 번째로는 함수 이름을 int []로 range로 만들고 매개변수를 int num으로 받는다 num이 최대값이라고 생각하면 된다 ​ int형 배열로 반환해야 하기 때문에 arr이라는 배열을 만들고 ​ 반복문을 통해 i 가 0 부터 num 미만까지 돌면서 arr [index = i] = i로 인덱스 0번째부터 순서대로 배열 안에 넣는다 ​ 그리고 return 해주면 끝 ! ​ ----------------------------------------------------------------------------------------------------------------..
Basic Algorithm 13th 1. 전달한 문자가 알파벳이면 true 아니면 false String str을 반복문을 통해 str의 문자를 하나씩 검사한다 charAt() 함수를 사용하여 str의 인덱스를 ch라 지칭하고 조건문을 사용하여 알파벳인지 확인 후 출력한다 ​ ---------------------------------------------------------------------------------------------------------------------- ​ 2. 전달한 숫자가 3의 배수면 true 아니면 false -------------------------------------------------------------------------------------------------------------..
Basic Algorithm 12th t 형 2중 배열을 이용하여 원하는 값 출력하기 1. 이중배열 안에 값을 100까지의 숫자로 바꿔서 출력하기. ​ 이중배열이기 때문에 반복문도 2개를 돌려서 바꿔줘야 한다. 나중에 안 사실이지만 Random클래스를 이용하면 좀 더 코드를 간략화할 수 있다 import java.util.Random -> Random ran = new Random() ran을 이용해서 원하는 범위만 설정하면 된다. ​ 위 사진은 Random 클래스를 몰랐기 때문에, (int)(Math.random()*101)을 사용하였다 행을 row 지정하고 열을 column 으로 지정하였다 ​ 2중 반복문으로 row = 즉, 한 행을 돌때 그 안에 반복문이 또 있어서 열을 돈다 쉽게 말해, 한개의 행이 돌 때 그 안에 있는 열을 다 돌고..
Basic Algorithm 11th 배열에 들어있는 값들 랜덤으로 뽑고 등장 횟수 출력하기 뽑는 횟수는 int형 변수 repeat으로 100회로 지정 ​ 뽑을 값들은 String형 배열로 fruits 지정 ​ 그리고 과일의 갯수를 셀 배열을 fruit_count로 지정하고 fruit의 길이만큼 배열을 생성한다 ​ 반복문을 통해 미리 지정해놓은 repeat 반복할 예정이고 6개의 과일 중 하나씩 카운트할 계획이기 때문에 random_number 를 fruit.length 만큼 지정해준다 그럼 random_number 는 0부터 5까지 랜덤으로 컴퓨터 내부에서 뽑을 것이고, ​ fruit_count 의 0 ~ 5 번째 값에 순서대로 값을 추가시켜준다 ​ 그리고 마지막으로, 반복문을 통해 과일의 길이만큼 i를 반복시켜주고, printf로 해당 ..
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 ..