항해 알고리즘 주간 첫문제이다!별찍기를 n만큼 한다.1)에서 찍은 별을 m만큼 다시 반복한다.\-> 반복문 for을 사용하자기존 String은 String 변수에 또다른 String 변수로 연산을 하면 새로운 String이 생성하게된다. 이는 곧 메모리 해제와 메모리
if문을 사용해서 짝수인 경우/홀수인 경우 반환값을 다르게 하자홀/짝 판단은 num % 2 == 0 이면 짝수 아니면 홀수임을 사용하자알고 있던 내용이지만 실제로 if문을 쓸 때 바로 삼항 연산자를 떠올리지 못해서 다시 한번 정리해보았다.if-else문의 축약형이다.
문자열의 길이를 알아내자 - String.length()문자열 길이자 홀/짝 두가지 경우로 나누자 - ifsubstring()으로 문자를 뽑아내자짝수이면, (length()/2-1, length()/2+1)) 범위홀수이면, (length()/2, lenght()2+1)
a<b, a>b, a=b 세가지 경우로 나뉜다 - if - else if - elsefor문을 사용해보자a < b : b까지 a에 1씩 더하자 for(int i = a; i <= b; i++)a > b : a까지 b에 1씩 더하자 for(int i =
처음에 Integer.parseInt() 를 알고 있어서 쉬운데...?하면서 썼다가 다른 문제 풀이를 보면서 함수말고 다른 방법으로 써야된다는 것을 깨달았다. 나는 함수가 아니라 알고리즘 문제를 푸는 것이니까!!문자열 길이만큼 반복해서 한 글짜씩 빼내자 - for, c
배열에 없는 숫자를 더한다 = 1:9의 합에서 배열에 있는 숫자를 뺀다1 ~ 9 합 :for (int i = 1; i < 10 ; i++) { a+=i;}배열 숫자 합 : for (int i : numbers) { answer+=i;}나는 다 더해서 빼는 것만 생
signsi와 absolutesi를 같은 인덱스끼리 곱하자이번에는 좋아요 많이 받은 풀이와 내 풀이가 똑같았다...!!
arri를 돌며 배열의 값을 다 더하자 - for each더한 값은 arr.length로 나누자
phone_number.length()-4까지 "\*"을 더해주기이후에는 pnone_number.charAt(i)으로 문자 뽑아내기문자열을 char 배열로 변환하때 쓰는 메소드이다. 사용법
arr1과 arr2 배열의 행/열의 크기가 같으므로 답이 저장될 answer배열의 행/열 크기도 arr1과 같이 선언하자int\[]\[] answer = new int \[arr1.length]\[arr1\[0].lenght];for문으로 배열의 행의 길이만큼, 열의
x에 x를 더하는 것을 n번만큼 반복하자 - for
count가 늘어날 때마다 result에 price\*count를 더해준다 - formoney가 result보다 큰 경우/ 아닌경우로 나눈다 - ifmoney > result - return 0money < result - return -(money-result)
기준점이 금요일이니까 배열 day에 "FRI"부터 순서대로 넣기배열 date에 월별 마지막일 넣기a-1까지 배열 date에서 totalDate에 더하기totalDate에 b일만큼 더하기day\[(totalDate % 7) - 1](인덱스가 0부터 시작하니까 1을 빼줌)
배열 arr을 돌며 나누기가 0인 경우 리스트에 추가하자 - for, list.add(i)list가 비웠다면 -1을 추가하자 - list.isEmpty()배열 answer에 리스트값들 넣어주기배열 answer 크기 = list.size()answer\[j] = list
내적i가 같을 때 arr1i, arr2i를 곱한 값들을 더한 값 배열 a와 배열 b를 돌며 값들을 꺼내 곱하고 answer에 더해주자 - forIntStram.range()에 대해 공부했었는데 써먹질 못했다.앞서 filter에 대해 공부하며 언급했는데 바로 다음 문제에
내적i가 같을 때 arr1i, arr2i를 곱한 값들을 더한 값 소문자와 대문자를 구별하지 않음으로 다 소문자로 바꿔야겠다 - toLowerCase()'p'와 'y'의 경우를 나누자 - ifstring s의 문자를 하나씩 빼와 각각 'p' 또는 'y와 일치하는지 확인하
s.length()가 4나 6이 아니면 false 반환 - if문자열을 정수로 바꾸고 예외 상황이 오면 false반환처음에는 위와 같이 풀이하고 싶었으나, 예외 상황 처리를 어떻게 적용할지 몰라 아래와 같이 했다.1.s.length()가 4나 6이 아니면 false 반
s.length()가 4나 6이 아니면 false 반환 - if문자열을 정수로 바꾸고 예외 상황이 오면 false반환처음에는 위와 같이 풀이하고 싶었으나, 예외 상황 처리를 어떻게 적용할지 몰라 아래와 같이 했다.seoulindex 반복하기 - for반목문안에서 문자열
0부터 n만큼 반복하자 - for인덱스가 짝수일 경우 홀수일 경우를 나누자 - if짝수(i % 2 == 0) : answer+="수"홀수(i % 2 == 1) : answer+="박"answer값을 return하자비어있는 char\[]을 생성하면 "\\0"이 들어가있다
배열 participant와 배열 completion을 정렬해준다 -Arrays.sort(participant), Arrays.sort(completion)배열을 돌면서 !participant\[i].equals(completion\[i])인 인덱스를 찾는다찾으면 br
.split("")으로 공백을 기준으로 문자열 나누기공백을 만날 때마다 인덱스 변수를 0으로 초기화하기짝수와 홀수의 경우를 나눠서 .toUpperCase()/.toLowerCase()를 이용해 문자를 변경한다한 글자씩 처리후 answer에 담고 return한다.나와 똑
숫자 n의 1의 자리 구하기 - n % 101의 자리 구하고 n/10한 후 다시 1의 자리 구하기ex) 1234
배열 answer에 값을 담기 위해 n의 길이를 알아내기0이 아닐 때까지 n / 10하면서 cnt 증가시키기int\[] answer = new int\[cnt]선언for (int i = 0; i < cnt; i++)동안 n의 끝자리부터 answeri에 집어넣기 -
long 타입 n을 String 타입 배열로 변환하기split("") - 문자열을 잘라 배열로 저장시키는 메소드배열을 내림차순으로 정렬하기 - Arrays.sort() + for문 index 역순으로 돌리기배열을 다시 long타입으로 변환하기 - Long.parseLo
THINKING i * i == n일 때까지 반복문 돌리기 - for 조건 충족 여부에 따라 반환값 나누기 - if 조건 충족 - (i + 1) * (i + 1) 반환 조건 미충족 - -1 반환 ++ 제곱근을 구하는 함수가 있다면 좋겠다고 생각했지만, 일단
arr.length가 1일 경우와 아닐 경우를 나눠서 생각하자1일 경우 - answer\[0] = -11보다 클 경우 - 최솟값을 제외한 값을 answer\[]에 넣기"자바 제곱급 구하기"를 검색하니 Math.sqrt() 메소드가 남와서 이 메소드를 이용하여 풀어보았다
num != 1이 동안 반복해준다num % 2 == 0인 경우는 num / 2, 아닌 경우는 num \* 3 + 1해주고 answer 카운트를 반복문을 한 번 돌 때마다 하나씩 올려준다.answer가 500이 넘으면 answer = -1을 반환해주고, 아니라면 그대로
while문을 이용하여 x의 각 자리수를 구해 answer에 더해준다x % 10을 통해 1의 자리를 구할 수 있다x % answer == 0이면 true를 아니면 false를 반환해준다
10진법을 3진법으로 바꾸자(n % 3)을 이용하여 list에 3진법 역순을 바로 구하자3진법을 다시 10진법으로 바꾸자Math,.pow() : 거듭제곱 구하는 메소드 활용하자원래 좋아요 많이 받은 풀이에는 이렇게 (n % 3) 뒤에 a를 붙이고 reverse()를 이
주의할 점 - 카드 방향을 회전 시킬 수 있다가로, 세로 길이를 비교하여 긴 값을 가로에 짧은 값을 세로에 넣기가장 길이가 긴 가로를 max_w에 저장가장 길이가 긴 세로를 max_h에 저장max_w와 max_h를 곱한 값을 return1번을 떠올리긴 했지만, 어떻게
오늘은 백준의 설탕 배달(2839번) 문제를 풀어보았다
베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다.이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼프가 1850년에 증명했다.예를 들어, 10보다 크고, 20보다 작거나 같
땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다.달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다.달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지
0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른
스택 (stack)은 기본적인 자료구조 중 하나로, 컴퓨터 프로그램을 작성할 때 자주 이용되는 개념이다. 스택은 자료를 넣는 (push) 입구와 자료를 뽑는 (pop) 입구가 같아 제일 나중에 들어간 자료가 제일 먼저 나오는 (LIFO, Last in First out
지민이는 N개의 원소를 포함하고 있는 양방향 순환 큐를 가지고 있다. 지민이는 이 큐에서 몇 개의 원소를 뽑아내려고 한다.지민이는 이 큐에서 다음과 같은 3가지 연산을 수행할 수 있다.1\. 첫 번째 원소를 뽑아낸다. 이 연산을 수행하면, 원래 큐의 원소가 a1, ..
문제 링크양수 A가 N의 진짜 약수가 되려면, N이 A의 배수이고, A가 1과 N이 아니어야 한다. 어떤 수 N의 진짜 약수가 모두 주어질 때, N을 구하는 프로그램을 작성하시오.첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다.
문제 링크66은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워즈를 만들 때, 스타워즈 1, 스타워즈 2, 스타워즈 3, 스타워즈