문제 : 이상한 문자 만들기 풀이 주어진 문자열 s를 split() 함수를 사용하여 배열로 변환 각 단어별로 나누기 위해 공백을 기준으로 split 각 단어별 인덱스를 적용하기 위해 index 변수를 만들어 주고 for문을 생성 equals를 사용하여 공백을 먼
long 타입으로 형변환을 하지 않으면 int범위를 초과하는 경우가 발생num이 int일 경우 연산 과정에서 int의 최대값(약 21억)을 초과하게 되어, 음수가 출력됨while문으로 1이 아닐 때까지 반복하면서 작업 횟수(answer)를 늘려줌이 때 입력된 수가 짝수
String s의 길이가 짝수일 경우 두 글자가 저장이 되야하므로 2로 나눈 나머지를 확인substring을 이용하여 s.length()가 짝수일 경우 1/2 값의 1을 뺀 위치부터 +2한 위치까지 문자열 s를 자름인덱스가 0부터 시작하므로 1을 빼고 시작length(
짝수는 2로 나눴을 때 나머지가 0짝수일 때 "Even"을 출력그게 아니라면 즉, 홀수를 뜻하므로 "Odd"를 출력if문을 삼항연산자로도 사용 가능짝수일 때 "Even" 그게 아니라면 "Odd"를 출력해 answer에 저장
String 타입의 s를 Integer.parseInt()를 사용하여 int 형태로 만든 후 answer에 저장
0부터 numbers의 길이만큼 for문을 사용해 반복적으로 출력numbersi를 answer와 더한 후 저장0부터 9까지 모두 더한 수는 45numbers에 포함되어 있지 않은 수의 합들을 구해야하므로 전체(45)에서 answer의 값을 빼면 numbers에 없는 숫
평균을 구하게 되면 소수점이 나올 수 있으므로 int가 아닌 double형으로 변수를 생성 후 초기화배열 arr의 길이만큼 for문을 사용하여 반복 출력후 sum에 더한 후 저장배열은 0부터 시작이므로 i = 0평균은 합 / 배열의 길이구한 평균은 answer에 저장마
핸드폰 번호 마지막 4자리를 제외한 나머지 숫자를 전부 \*로 표시하기 위해 for문을 phone_number의 길이에서 4를 뺀만큼 반복 출력\*를 answer에 저장substring을 이용해서 끝의 4자리를 제외한 핸드폰 번호를 answer에 대입answer를 반환
두 행렬은 열과 행이 같으므로 임의로 arr의 배열의 크기로 배열 생성 및 선언arr1의 행의 길이, arr10의 열의 길이행렬의 행만큼 for문을 사용하여 반복 출력행렬의 열만큼 for문을 사용하여 반복 출력0 -> 0 -> 0 -> 1 -> ... 순으로 배열 인덱
부족한 금액 answer, 내야할 금액 sum을 long 타입으로 선언 후 0으로 초기화놀이기구를 탄 횟수(count)만큼 for문을 사용하여 반복 출력놀이 기구의 이용료와 놀이기구를 탄 횟수를 곱해 내가 내야할 금액을 sum에 저장처음 가지고 있는 금액이 내야 할 금
날짜를 나타내는 클래스인 LocalDate를 사용LocalDate()는 LocalDate(년,월,일)즉, LocalDate(2016(년), a(월), b(일))요일을 표현하는 DayOfWeek Enum 사용DayOfWeek의 getValue() 메소드를 사용하여 요일을
signs의 길이만큼 값을 출력해야하므로 for문을 사용해당 순번의 부호를 결정하는 signs배열의 true, false의 여부에따라 결과값에 더해주고 빼줌signsi == true (양수) 일때는 answer에 absolutesi의 값을 더해줌signsi == fal
n의 개수만큼 배열이 만들어지기 때문에 n의 개수의 배열을 생성제한조건에서 범위가 크므로 int가 아닌 longlong 타입의 변수 num을 0으로 초기화x부터 시작해 x씩 증가하는 숫자 n개를 지니는 리스트를 리턴하라고 했으므로 for문을 사용하여 n만큼 반복 출력x
boolean 타입의 변수 answer를 true로 선언'p'의 개수와 'y'의 개수를 0으로 초기화문자열 s를 toLowerCase()를 사용해 대문자를 소문자로 바꿔줌소문자로 바꿨던 문자열 s를 잘라서 String ans 배열에 넣음p와 y의 개수를 세기 위해 fo
문자열 길이 체크 문자열 s의 길이가 4 또는 6인 경우 true그게 아니라면 false문자열 s의 길이가 4 또는 6이라면 s의 길이만큼 for문을 사용하여 반복i = 0부터 문자열의 길이만큼 반복charAt()을 사용하여 s의 한 글자를 구한 뒤 int로 형변환 후
마라톤에 참여한 선수들의 이름이 담긴 배열과 완주한 선수들의 이름이 담긴 배열을 오름차순으로 정렬참여한 선수와 완주한 선수가 다를 때까지 찾아야하므로 완주자들의 배열의 길이만큼 반복만약 참여한 선수의 이름이 완주한 선수들의 이름에 있다면 계속 진행그게 아니라면 참여한
HashMap을 사용입력된 key의 순서가 보장되어야하므로 LinkedHashMap 사용HashMap은 key의 순서가 지켜지지 않음key와 value 값을 String으로 받음HashMap의 변수인 map에 데이터를 넣기 위해 put() 사용영단어는 key, 숫자는
각 사람의 정답 횟수 배열을 생성1번 수포자는 1~5를 순서대로 반복(human1)2번 수포자는 2를 제외한 1~5를 순서대로 반복(human2)3번 수포자는 3-1-2-4-5 순서로 2번씩 반복(human1)반복되는 최소 단위를 배열로 만듦answer의 길이만큼 fo
에라토스테네스의 체 사용소수를 체크할 배열 생성0과 1은 소수가 아니기 때문에 prime\[0]과 prime\[1]을 true로 설정즉, 소수가 아니라면 true2부터 제곱근 이하까지 반복 출력만약 이미 한 번 체크된 배열이면 continuei의 배수라면 소수가 아니기
left부터 right까지 반복약수의 개수 판별을 위해 count = 0으로 초기화j는 1부터 i까지 순회하여 i를 j로 나누었을 때 나머지가 없으면 count에 증가시킴만약 약수가 짝수라면 answer에 i만큼 더하고홀수라면 answer에 i만큼 뺌제곱수인 경우에는
약수는 1부터 n까지 순회나머지가 0이면 약수이므로 answer에 값을 더해줌
각 부서별 신청 금액을 합한 값을 sum으로 지정 후 0으로 초기화최소 금액이 나오려면 작은 수끼리 더해야하므로 오름차순으로 배열을 정렬각 부서별로 신청한 금액을 더해야하므로 부서의 길이만큼 순회각각의 금액을 sum에 더한 후 저장지원 금액이 신청 예산보다 크다거나 같
최대공약수, 최소공배수 배열이므로 길이가 2인 배열을 선언배열은 0부터 시작이므로 answer\[0]에는 최대공약수, answer\[1]에는 최소공배수 지정유클리드 호제법에 의해 최대 공약수는 gcd(n,m)최소공배수 : 최대 공약수를 구한 뒤 두 수의 곱 / 최대공약
commands의 길이만큼 선택해야하므로 크기를 commands의 길이로 선언commands만큼 순회시작 위치, 끝 위치, 선택할 위치를 지정배열은 0부터 시작\[i, j k]에서 시작 위치 i => 0번째(첫 번째 자리)j => 1번째(두 번째 자리)k => 2번째(
입력되는 n의 최솟값이 3이므로 2부터 n보다 작을 때까지 반복나머지가 1이 되면 해당 값이 가장 작은 값이므로 answer에 값을 대입해주고 반복을 종료
1은 소수가 아니기 때문에 2부터 n까지 반복boolean 타입의 flag라는 변수를 생성하여 소수가 아니면 true를 출력하도록 설정j는 2부터 i를 제곱근한 수만큼 반복만약 배열에 있는 숫자가 j로 나누어떨어지면 소수가 아니기 때문에 flag를 false로 변환fl
체육 수업을 들을 수 있는 학생의 최댓값 = 전체 학생수(n) - 체육복을 도난당한 학생 수(lost.length)체육복을 도난당한 학생들의 번호가 담긴 배열과 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열을 Arrays.sort()를 사용하여 정렬여벌 체육복을 가
총 N마리의 포켓몬 중에서 N/2만큼 선택한다고 했으므로 int 타입의 변수 pick을 생성가장 많은 종류의 폰켓몬을 선택하는 방법을 찾는 것이므로 중복을 제외하기 위해 HashSet 사용HashSet : 중복 저장 불가능몇 종류의 포켓몬이 있는지 구하기 위해 set
3진법은 10진법으로 표현되어 있는 수를 3으로 계속 나눈 나머지를 뒤에서부터 올림3진법 수를 담을 변수 three를 선언 n의 값이 0보다 클 때까지 반복n % 3의 나머지를 담을 int 타입의 변수 num 생성n을 3으로 나누고 그 값을 다시 n에 저장num을 문자
new_id의 모든 대문자를 대응되는 소문자로 치환newid에서 알파벳 소문자, 숫자, 빼기(-), 밑줄(), 마침표(.)를 제외한 모든 문자 제거정규식 사용 ==> \`("^-\_.a-z0-9")\[^]는 not 즉, 안의 내용 이외의 것문자를 공백으로 대체하기 위해
자연수 n을 문자열로 치환answer 배열에 문자열 길이만큼의 배열을 선언문자열 길이만큼 반복 출력뒤집어서 반복을 해주기 때문에 길이의 -1akszma i 값에 넣어준 다음 i를 하나씩 빼주면서 0까지 반복answer에는 순차적으로 값이 쌓일 수 있도록 s.length
long 타입의 변수 answer를 0으로 초기화String.valueOf()를 통해 자연수를 문자열로 치환문자열로 치환하여 저장한 String 타입의 s를 split() 함수를 사용하여 하나하나 쪼갠 뒤 String 배열의 변수 str에 저장배열 str을 내림차순으로
n의 제곱근 : Math.sqrt()n의 제곱근을 제곱했을 때 n과 같다면 n + 1을 제곱하여 returnMath.pow() : 제곱을 구하는 함수Math.pow(x,y) : x를 y만큼 곱해줌long 타입으로 변환해줌 그렇지 않다면 -1을 return
리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하라고 했으므로만약 arr의 길이가 1이라면 answer 배열에 -1을 채우고 return배열의 길이가 1보다 클 때 가장 작은 수를 뺀 길이로 초기화최소값은 arr의 0번째 인덱스로 지정(기준점)arr의 길이
true와 false로 반환해야하므로 boolean 사용초기값을 false로 지정양의 정수 x를 int 타입의 변수 value에 저장자릿수의 합을 담아줄 int 타입의 변수 sum을 선언x는 양의 정수이므로 0이 되기 전까지 무한 반복x를 10으로 나눈 나머지 값을 s
문제 : 같은 숫자는 싫어 풀이 전체 코드 >
서로 다른 인덱스 두 개의 수를 뽑는다고 했으므로 중복을 허용하지 않는 HashSet 사용두 개의 수를 뽑아야하므로 이중 for문 사용두 수를 더한 값을 set에 추가set 객체의 toArray()를 사용하여 set 객체를 배열로 변환파라미터로는 변환될 배열 객체를 넘
문자열로 구성된 리스트 strings의 길이만큼 새로운 String 배열 answer을 선언String 타입의 새로운 List 생성첫 글자를 index의 요소, string의 요소를 합친 값으로 list에 저장배열의 크기만큼 새로운 String 배열 생성인덱스 i의 문
바구니의 역할을 해줄 Stack 생성moves의 길이만큼 for문을 돌림board의 길이만큼 for문을 돌림해당 라인에서 인형을 뽑아야하기 때문에만약 board\[j]\[moves - 1]가 0이라면 인형이 없는 것이므로 넘어감0이 아니라면 stack이 비어있지 않고