목록💻프로그래머스_연습/LV.1 (13)
soozya
[문제] [답] [풀이] 콜라츠 추측이 뭔데... 내가 아는건 콜라는 제로 콜라는 펩시 라임맛이 맛있다는 것 뿐이야ㅠ 암튼.. 처음에 반복되는 수를 기준으로 해야되나 했는데 그냥 숫자 기준으로 함.. 왜냐면 1일 때 0을 반환해야 되니까! 그래서 1이 아닐 때를 가정하고, num이 짝수냐 홀수냐 기준으로 삼항연산자를 주고 result(반복되는 횟수) 증가 시키기.. 근데 만약 반복 횟수가 500번이 되면 -1을 반환하고요... 1이 아닐 때를 가정했기 때문에 1이 되면 result를 반환하는 것..
[문제] [답] [풀이] double을 쓴 이유는 평균 구할 때 소수점이 나올 수 있으니까..! 배열이 길이(4)보다 작은 수(=3)를 i에 넣고, 0번째 자리부터 n번째(=3) 자리수의 값을 모두 더함! 그리고 그 더한 수를 배열의 길이로 나누어 주면 됨! 1,2,3,4 일 때 arr[0]~arr[3]이 되는데, 각 수를 모두 더하고 배열의 길이인 4로 나누어주면 되는것!
[문제] [답] [풀이] 아니 근데 하샤드 수가 뭔지 알았던 사람...?ㅎㅎ 문제에서 잘~ 설명 해줬지만 진짜 쌩판 처음보는 내용 나올 때마다 당황.. 노답... 혼란...이마짚...ㅋㅋㅎㅎㅋㅋㅎㅎ 일단 0은 의미가 없으므로 0이 아니어야 함..! 정수 x를 12로 가정하고 풀이해봅시당 12를 10으로 나눈 몫과 나머지를 구해야 한다. 나머지는 2가 나오는데, y가 원래 0이었으니 나머지 2를 더해주면 2가 되지요~ 그래서 y는 2.. 몫(t)은 1이기 때문에 다시 10으로 나누어줍니다~ 그럼 나머지는 1이 나오니까 y는 2+1 해서 3이 됩니다 몫(t)은 0이기 때문에 이제 반복은 끝이납니다. 그래서 이제 반환받을 값을 적을 때, 정수 x인 12를 나머지 y인 3으로 나누었을 때, 나머지가 0이냐 아니..
[문제] [답] [풀이] 코드가 길어졌는데 다른 사람 풀이에서 삼항연산자 쓰는거 보고 머리짚... 세상에 그런 방법이 있어....ㅎㅋㅎㅋㅎㅋㅋ... 다양한 코드의 세계... 암튼 a와 b의 숫자 중 i를 작은수와 같은 값으로 놓고, 큰수보다 같거나 작을 때까지 반복하여 덧셈을 해주는 것이다. 근데 보다보니 Math.min(a,b) / Math.max(a,b) 를 쓰길래 뭔가 하고 찾아보니, min은 a와 b중 작은 숫자, max는 큰 숫자를 반환해서 계산해주는 것이었다..! 다른 사람 코드 보면서 많이 배워간다..ㅎㅎ...
[문제] [답] [풀이] 리스트 answer을 선언하고, num이라는 변수에 x를 넣어줌..왜냐하면 나중에 계산할 때 오류 생길지도..ㅎ x가 2고, n이 5일 때for문의 내용 기준 0번째는 num이니까 x의 값인 2가 들어감.. 8라인) num(2)과 x(2)를 더해서 num의 값은 4가 됨.. 다시 for문의 시작인 6라인으로 돌아가서 i의 값은 1이 되고, 리스트 1번째는 num이니까 4가 됩니다.. 글고 4에 다시 x(2)를 더해서 6.. 반복하면 2번째는 6, 3번째는 8, 4번째는 10이 됩니다.. 그렇게 되는 것입니다~ 즉, 정리하자면 각 배열의 자리에 정수 x를 n-1번만큼 넣어줄 수 있다는 뜻임!
[문제] [답] (1) for문 사용 [풀이] 풀면서도 으이구 뻔해~ 했던지라 다른 사람의 풀이를 살펴보니 Math.sqrt()와 Math.pow() 를 사용해서 나도 참고해보기로 함. (2) Math.sqrt(), Math.pow() 사용 [풀이] 역시 아는 것이 힘이다..! Math.sqrt(n)일 때, n의 제곱근을 구해주는 메서드입니다요. 참고로 음수는 NaN을 반환함.. Math.pow(double n, double m) 일 때 n을 m번 곱하는 것을 의미함..double 형식이므로 필요시 형변환 하기... (1)의 방법은 약간 뻔하다 싶은데, (2)의 방법은 간결해진데다가 적절하게 메서드 사용도 사용해 볼 수 있는 느낌? 근데 (1)도 값이 틀린건 아니기 때문에 너무 겉멋들려 하지말고 기초나 ..
[문제] [답] (1) 삼항연산자 사용하기 [풀이] p와 y의 개수를 비교하는 것으로, 일단 int p와 int y라는 변수 설정, 그리고 p와 y 모두 대문자도 소문자로 인식할 수 있도록 toLowerCase()를 작성해줬다! 대문자로 해도 상관 없겠쥬~ for문을 사용하여 문자열 자리에 'p'가 있으면 p의 수를 올리고, 'y'가 있으면 y의 수를 올려 p와 y의 개수가 다르다면 false를, 같거나 없다면 true를 반환하도록 삼항연산자를 작성해주었다 (2) 변수를 하나만 작성하기 [풀이] 다른 사람의 풀이에서 어떤 분이 변수를 하나만 사용하는 것을 보고 오..!! 하면서 감탄아닌 감탄ㅋㅋㅋ 애초에 람다함수 이런건 아직 내 능력 밖이고, 보통 변수 2개로 나누어 비교하는데 하나의 변수만으로 결과를 ..