전체 글 142

[Kotlin] OS 버전 조회 하는 방법

📱테스트 환경 Samsung Galaxy Tab Advanced2 fun getOsVersion(): Int { return Build.VERSION.SDK_INT } 이외에도 Build 에는 여러가지 디바이스에 관한 정보를 찾아볼 수 있다. [Kotlin] Model 버전 조회 하는 방법 [Kotlin] Model 버전 조회 하는 방법 📱테스트 환경 Samsung Galaxy Tab Advanced2 fun getDeviceModel(): String { return Build.MODEL } 이외에도 Build 에는 여러가지 디바이스에 관한 정보를 찾아볼 수 있다. [Kotlin] OS 버전 조회 하는 방법 [Kotlin] OS 버전 8735.tistory.com

Kotlin 2024.03.16

깊은 복사(deep copy) vs 얕은 복사(shallow copy)

최근에 깊은 복사와 얕은 복사에 대해 질문을 받았는데 생각보다 잘 알고있지 못해서 어버버 거렸던게 신경쓰여서 찾아보게 되었다 ㅎ 원래 알고있던 내용이라 "아 ~ 맞아맞아" 하는 내용도 있었고 "오 ~" 하는 새로운 내용도 있었다. 얕은 복사 (Shallow Copy) 얕은 복사는 원본 데이터의 최상위 레벨만을 복사한다. 중첩된 객체나 배열이 있다면, 해당 객체나 배열은 원본과 동일한 참조를 유지한다. Ex : 스프레드 연산자(...), 배열의 slice() 등 얕은 복사 (Shallow Copy): 최상위 레벨의 객체나 배열은 새로운 객체나 배열로 복사되지만, 됩니다. 깊은 복사 (Deep Copy): 깊은 복사는 원본 데이터의 모든 중첩된 객체와 배열을 재귀적으로 복사한다. 새로운 객체나 배열이 생성되..

IT 2024.02.21

[Javascript] 프로그래머스 - 최대공약수와 최소공배수

https://school.programmers.co.kr/learn/courses/30/lessons/12940 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(n, m) { return [gcd(n, m), lcm(n, m)]; } // 최대공약수 function gcd(a, b) { return b === 0 ? a : gcd(b, a % b); } // 최소공배수 function lcm(a, b) { return (a * b) / gcd(a, b); }

Javascript 2024.02.15

[Javascript] 형변환 - Number, BigInt

https://school.programmers.co.kr/learn/courses/30/lessons/181846 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 문제를 풀고있다가 "287346502836570928366" 를 숫자로 바꿔주기 위해 Number(b) 를 사용하니까 287346502836570928366 인 값이 287346502836570900000 로 출력이 되었다. Number 의 숫자 범위는 다음과 같다. const biggestInt = Number.MAX_SAFE_INTEGER; // (2**53 - 1) => 900..

Javascript 2024.02.14

[Javascript] 백준 11720 - 숫자의 합

11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 1. 내가 작성한 코드 const fs = require('fs'); const input = fs.readFileSync('/dev/stdin').toString().split('\n'); const c = Number(input[0]); const a = input[1].split('').map(Number); var s = 0; for(var i = 0; i < c; i++) { s += a[i] } console.log(s) 2. 강의에서 배운 코드 const fs = require('fs'); const input = fs.readFil..

Javascript 2024.01.30

[Javascript] 백준 2675 - 문자열 반복

2675번: 문자열 반복 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다 www.acmicpc.net const fs = require('fs'); const input = fs.readFileSync('/dev/stdin').toString().split('\n'); const c = Number(input[0]); for(var i = 1; i

Javascript 2024.01.30

[Javascript] 백준 2908 - 상수

2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 1. 내가 작성한 코드 const fs = require('fs'); const input = fs.readFileSync('/dev/stdin').toString().split('\n'); const [a, b] = input[0].split(' '); var reverceA = Number(a.split('').reverse().join('')); var reverceB = Number(b.split('').reverse().join('')); console.log(Ma..

Javascript 2024.01.30

[Javascript] 백준 1316 - 그룹 단어 체커

1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 와 .. 코드작성보다 문제를 이해하는데 시간이 더 많이 소요된것 같다. 연속된 알파벳은 o 연속되지 못하는, 반복되서 나오지 않는 알파벳은 x happy new year 모두 통과 aba abab abcabc a a b a a b a b a b c a b c a 결과 : 1 ab aa aca ba bb a b a a a c a b a b b 결과 : 4 yzyzy zyzyz y z y z y z y z y z 결과 : 0 이런식인..

Javascript 2024.01.30

[Javascript] 백준 1152 - 단어의 개수

1152번: 단어의 개수 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열 www.acmicpc.net 1. 처음 작성한 코드 const fs = require('fs'); const input = fs.readFileSync('/dev/stdin').toString().split('\n'); const a = input[0].split(" "); var sum = 0; for(var i = 0; i < a.length; i++) { if(a[i] !== '') { sum++ } } console.log(sum) 문제없이 바로 통과하긴 했는데 단순한 문제치고..

Javascript 2024.01.30

[Javascript] 백준 1546 - 평균

1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 나는 아주 한글로 적혀있는 설명문이 제일 어려운 것 같다. const fs = require('fs'); const input = fs.readFileSync('/dev/stdin').toString().split('\n'); const count = Number(input[0]); const score = input[1].split(' ').map(Number); let newScore =0; const max = score.reduce((a,b) => ..

Javascript 2024.01.29