본문 바로가기

TIL/Java

Basic Algorithm 4th

반응형

1. 사용자가 입력한 문자열에 알파벳이 포함되어 있으면 true, 없으면 false

Scanner를 이용하여 사용자로부터 문자열을 입력받은 후 그것을 user로 칭한다

문제 자체에 true/false로 값이 나와야 한다고 언급이 되었기 때문에, boolean 타입으로 contain을 false로 미리 지정해놓는다

반복문을 통해 user 문자열에 포함된 각각의 문자들을 검사하는데

코드를 줄이기 위해 char ch 를 charAt함수를 이용하여 각 인덱스라고 지칭한다

그 후, ch 가 알파벳인지 검사하면 되고,

문자가 알파벳일시 contain을 true로 바꿔주고 break를 통해 반복문을 빠져나오면 된다

만약에 문자열 user에 알파벳이 없다면 contain 은 기존에 지정해놓았던 false로 계속 유지될 것이다

2. 사용자가 입력한 문자열이 알파벳으로만 이루어져 있으면 true 아니면 false

사용자가 입력한 문자열을 user2로 지칭한다

해당 문제도 위와 동일하게 ture/false 값으로 출력해야 하기 때문에,

boolean 타입으로 only_alpha 변수를 true 값으로 지정해 놓는다

반복문을 사용하여 user2의 인덱스를 0부터 돌리고,

반복문 안에 가정문을 넣어 만일 ch가 알파벳이 아닐 시 기존에 지정해 놓았던 only_alpha를 false로 바꾸고 break를 걸어 반복문을 나온다

만약 user2가 알파벳으로만 이루어졌을 시에는 기존에 지정해놓은 only_alpha는 여전히 true일 것이다

3. 사용자가 허락한 문자만으로 이루어진 문자열이라면 true, 아니면 false (허락한 문자열: 알파벳 소문자, 숫자, _, $ / 첫 번째 문자에 숫자 불가)

사용자로부터 입력받은 문자열을 user3로 지칭한다

이 문제에서는 boolean 타입으로 두개의 변수를 지정해야 하는데,

문제에서 첫번째 글자는 숫자가 불가능하다는 조건과 / 전체 문자에 허락한 문자열

두 부류로 나뉘기 때문에 두 개의 조건이 필요하다

조건이 두개이상 일 때, 먼저 1차적으로 조건을 거르는 것이 낫다

first_letter_check 변수로 입력받은 user3의 첫 번째 인덱스가 숫자일 경우 flase로 지정해서 거르고

두번째 조건은,

반복문을 통해 전체 문자열을 검사하는데, user3의 각각의 인덱스를 ch3으로 지정하고 (코드의 반복을 줄이기 위해)

허락한 문자열들이 아닐 때 letter_check를 false로 지정하고 break를 통해 반복문을 빠져나온다

맨 마지막에는 두개의 조건문이 모두 다 충족시킬 시 true를 출력하고 아닐 시에는 false로 출력한다

이 알고리즘은 대부분 웹사이트 비밀번호 생성시에 자주 사용할 것 같다

반응형

'TIL > Java' 카테고리의 다른 글

Basic Algorithm 6th  (0) 2021.08.03
Basic Algorithm 5th  (0) 2021.08.02
Basic Algorithm 3rd  (0) 2021.08.02
Basic Algorithm 2nd  (0) 2021.08.02
Basic Algorithm 1st  (0) 2021.08.02