일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 배열
- 반복문
- 백준
- 분기문
- 프로그래머스
- berak
- 자바변수
- array
- express
- for
- Java
- while
- 자바연산자
- LV1
- URL생성
- 자바실습문제
- 레이어팝업URL
- 자바
- 키패드
- 적용
- dowhile
- CONTINUE
- 레이어팝업
- Spring
- 2차원배열
- KH정보교육원
- node.js
- 정적파일
- 문제풀이
- 모달팝업
- Today
- Total
목록문제풀이 (12)
까잉이의 개발노트

첨에 indexOf()를 이용했다가 예제입력에 "c=c="가 있어서 다시 접근해 .contains()를 이용해 풀었다 풀이순서 1. 크로아티아 알파벳 6개를 배열로 만들어 준다 2. 문자열을 받은 다음 크로아티아 알파벳 갯수 6번 만큼 for문을 돌린다 3.contains()를 이용해 if문에서 크로아티아 문자가 포함하는지 알아내고 포함이 되면 .replace()를 이용해 크로아티아 문자를 "*"로 치환해준다 4. 총 문자갯수를 출력한다 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.nextLine();..

이미지를 제대로 못 보고 문제 이해를 못 했는데 이미지를 자세히보면 번호 아래 째깐하게 알파벳이 써있다😅 풀이순서 1. 문자열을 받아와서 글자수만큼 for문을 돌린다. 2. for문 안에서 한 글자씩 switch를 통해 어떤 글자인지 파악하고 걸리는 시간 만큼 더해준다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String dial = sc.nextLine().toUpperCase(); int count = 0; for(int i = 0; i < dial.length(); i++) { char a = dial.charAt(i)..

상수는 수학을 못 한다고 하지만...사실 이걸 거꾸로 읽은 다음에 큰 수를 말하는 정도면 천재 아닌가..?🤔 암튼 나는 또 구구절절한 코드로 풀었는데..다 풀고 나서 엄청 간단하게 푼 분의 코드를 봤다.. 나도 코드를 짧게 쓰고 싶다ㅠㅠ (개발 공부하자 까잉아...) 풀이순서 1. 입력받은 두 수를 for문을 통해 int 배열에 넣는데 각 10을 나눈 나머지로 넣는다 그러면 일의 자리 수 부터 배열에 들어가기 때문에 숫자가 뒤집어진 것 같이 넣어진다 ex) 734 → {4, 3, 7} 2. 배열을 다시 int로 변환해야하기 때문에 num1, num2를 0으로 초기화를 해준다 3. for문을 통해 각 num1, num2를 10을 곱한 다음 배열에 있는 값을 더해준다. 그러면 배열의 순서대로 숫자가 출력된다..

처음에 단순하게 split()만 사용해서 끝내면 되는 줄 알고 이지하네~ 했다가 틀렸습니다를 보고 다시 자세히 보니.. 앞부분 공백이 있을 수 있다는걸 생각 못 했다 허허..😅 풀이순서 1. 입력받은 문자열을 split()을 사용하여 공백을 기준으로 배열을 만든다 2. int count를 선언하여 배열의 개수를 담는다 3. for문을 돌려 배열에 공백이 있는지 확인한다 4. 공백이 있을 경우 이중 for문을 이용하여 공백이 있는 부분부터 차례대로 값을 앞당기고 count에 -1 해준다 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); ..

내 풀이과정은 좀 복잡하다😵 내가 푼 방법은 Set을 이용해 중복되는 알파벳을 제외 시켜버린 배열을 만들어서 for문을 통해 중복되는 문자가 몇개인지와 제일 많이 나온 문자를 알아내서 출력하는 거다 풀이순서 1. 문자열(s)을 입력받은 후 .toUpperCase()로 모두 대문자로 만들어버린다. 2. Set을 선언하고 for문으로 입력받은 문자를 set에 추가한다 3. char[] arr를 선언해주고 Iterator를 이용해 while문을 set의 사이즈만큼 돌려 set에 있는 것들을 arr에 추가한다 4. 제일 많이 중복된 문자 개수와 문자를 담을 int big, char bigChar를 선언해준다 5. 이중 for문을 이용하는데 첫 for문에서는 arr 개수 만큼 두번째 for문에서는 입력받은 문자열..

이 문제를 정리하자면 1. 입력받은 S는 전부 소문자 이며 길이가 100이 넘으면 안된다. 2. a ~ z까지 S의 문자 하나하나 비교해서 존재유무와 위치를 알아낸다 (단, 위치는 처음 등장하는 위치!) 그러므로 나는 아스키 코드를 이용해서 이중 for문을 이용해 하나하나 비교해서 풀었다.. 풀이순서 1. 문자열 S를 입력 받고 .toLowerCase()로 모두 소문자로 변경해준다 2. if문으로 S의 길이가 100이 넘는지 확인 한다. 넘을 경우 return! 2. 알파벳은 총 26개 이므로 for문을 26번 돌려줄 것이다. 3. 아스키코드로 a~z는 97~122이므로 ascii 라는 변수에 i+97을 한다 (i는 0부터 시작) 4. 위치를 알아내야하기 때문에 이중 for문을 이용해 S의 문자열 만큼 ..

이 문제는 처음 받는 숫자는 1~100개 숫자를 입력받으며, 다음 둘째 줄 숫자의 총 자리수를 입력하는 것이다. 그리고 둘째 줄 숫자는 처음 받은 숫자만큼 입력할 수 있고 둘째 줄 숫자 총 합을 구하는 문제이다. 사실 나는 문제가 이해가 안되서 예제를 뚫어져라 봐서 이해했다;; 풀이순서 1. 첫번째 숫자 입력을 받고 1~100 사이의 숫자가 맞는지 if문으로 걸러준다. 2. 2번째 숫자를 String으로 입력 받고 입력받은 자릿수가 첫번째에 받은 숫자보다 큰지 확인한다 3. for문을 돌려 2번째 입력받은 것을 charAt으로 한자리씩 더하는데 int로 받기 때문에 아스키 코드 값으로 가져온다 그래서 '1'은 아스키코드값으로 49인데 '0'은 아스키코드로 48이므로 끝에 '0'을 빼주면 제대로 입력받은 ..

소수점 반올림 땜에 조금 까다로웠다.. 헐레벌떡 제출했는데 % 안붙였다고 틀림 처리되다니!😡(억울) 이제 좀더 꼼꼼히 봐야겠다...😢 풀이순서 1. 케이스(n) 먼저 입력 받고 while문을 돌린다 2. while문 안에서 학생 수(student) 입력 받고 학생 점수를 담을 배열(scoreArr)을 선언한다 3. for문을 이용해 학생 점수를 입력 받고 배열에 담는다 그리고 대입연산자로 총 점수(total)도 구한다 4. 총 점수에서 학생 수를 나누어 평균점수(avg)를 구한다 5. 또 다시 for문으로 배열 안의 점수를 평균점수와 비교해 평균점수를 넘는 학생 수(goodStudent)를 구한다 6. "평균점수 넘는 학생 수 / 총 학생 수 * 100"으로 평균점수 넘는 학생의 비율(totalAvg)을..