본문 바로가기

728x90
반응형

개발 기록

[java] 약수의 개수 구하는 알고리즘 알고리즘 문제 풀이 중 약수의 개수를 구하는 예제가 있었음. 예를 들어) 약수의 개수가 짝수인지 홀수인지 판별하여 값을 더하거나 빼시오. 제가 생각한 약수의 개수가 짝/홀수인지 판별하는 방법은 1. 숫자를 제곱근으로 나눈다.2. 제곱근이 실수가 아닌 정수로 딱 맞아 떨어지는지 판별한다. 여기서 제곱근이 정수로 딱 맞아 떨어지면 다시 제곱을 하면 원래의 수가 나타나기 때문에 약수의 개수가 홀수,아니라면 짝수가 나타난다고 판별했음. 예시1) 14 : 1, 2, 7, 14 → 약수 : 4개, 제곱근 : 3.xxx예시2) 16 : 1, 2, 4, 8, 16 → 약수 : 5개, 제곱근 : 4 ◎ 코드 구현 for(int i=시작 숫자; i※ 메소드 설명1. Math.sqrt() : double 형태, 제곱근을 나.. 더보기
[java] 배열을 문자열로 합치는 방법 문제를 풀이하던 도중 배열에서 특정 문자열을 찾는 예제가 나왔음. 문자열이라면 indexOf(), contains() 메소드를 사용할 수 있겠지만,배열은 해당 기능을 수행할 수 있는 특정 메소드가 없음. 따라서 두 가지 방법을 생각했음.1. 배열을 문자열로 변경 → 특정 문자 포함 여부 확인2. 배열을 List로 변경 → 특정 문자 포함 여부 확인 1번 방법으로 문제 풀이했으며, 이를 위해, 배열을 문자열로 변경하는 방법에 대해 알아보자! ◎ 배열 → 문자열1. String.join() 메소드 활용 → 배열을 특정 문자로 구분해 합친 문자열 반환함. → 첫 번째 인자 : 배열을 연결할 문자, 두 번째 인자 : 문자열로 합칠 배열String[] strArr = {"A", "B", "C", "D"};Stri.. 더보기
[git] commit 시점으로 되돌리는 방법(reset) git 사용 중 코드가 꼬였을 때, 내가 원하는 시점으로 되돌리고 싶다면? ◎ 사용 방법1. 현재 작성하고 있는 프로젝트 폴더 경로로 들어감2. 빈 화면에서 마우스 오른쪽 클릭3. open git bash here4. 코드 입력$ git reset [되돌리고 싶은 시점]​ 5. 깃 허브 데스크톱을 사용하고 있다면 아래와 같이 되돌리고 싶은 시점이 코드로 나타남6. push 전의 상태로 되돌아감7. 새로운 브랜치를 현재 브랜치를 참고해 만듦8. 잘못 push한 브랜치에서 다시 작업할 수 있음 위와 같이 push를 했을 때, 이전의 상태로 되돌리고 싶다면 reset을 한 후 push 전의 상태로 되돌아가고새로운 브랜치를 생성하면서 내가 원하던 시점으로 돌릴 수 있었음 혹시 다른 방법이 있으신 분들은 댓글 남.. 더보기
[java] 소인수 분해 코드 구현 방법 소인수분해 : 어떤 수를 소수들의 곱으로 표현하는 것 예시) 20 = 2 * 2 * 5 여기서, 소인수는 2, 5 ◎ 소인수의 표현 방법 구상1. 지정한 변수(n)를 1보다 클때까지 반복문 설정 → n을 소인수로 나눈 후 그 값을 n에 다시 저장할 것2. 소수는 2부터 시작하기 때문에 초기값 설정 → 소수 : 1과 자기자신만을 갖는 수3. n을 소인수로 나눈 후 n에 다시 저장하고 다시 2부터 시작해 소인수를 찾음while(n > 1){ int i = 2; while(true){ if(n % i == 0) { n /= i; break; } i++; }}​ 여기서 배열, 리스트, Set 등으로 저장하면 되고 중복되.. 더보기
[java] Set, HashSet 정렬(순서) 방법 문제 풀이를 하며 Set을 사용했을 때, 하나만 실패하였음.  ◎ 사용 예시Set set = new HashSet();set.add(i); 하나만 실패한 원인 → set은 순서가 없기 때문에 항상 add 한 순서대로 출력하지 않음 ◎  해결방법1. set -> list로 변경2. list의 정렬 방법인 Collections.sort() 메소드 사용List list = new ArrayList(set);Collections.sort(list);​ 중복을 제거하기 위해서 set을 사용했지만, 순서가 없기때문에 순서가 있는 list를 사용했음. 중복도 제거되면서 순서를 지정할 수 있는 LinkedHashSet을 사용하면 훨씬 더 효율적으로 코드 구성할 수 있을 것 같다. 더보기
[GitHub] 불필요한 폴더가 push 되었을 때 gitignore 설정 깃허브에 불필요한 폴더가 push되었을 때 삭제하는 방법, 이후 gitignore를 이용해 해당 폴더를 제외하고 push 할 수 있는 방법에 대해 알아보겠습니다! 이클립스 → 자바 프로젝트 생성 → 깃허브의 리포지토리와 연결했을 때, GitHub Desktop에 .metadata, bin 폴더, .class 파일 등 필요없는 파일들이 너무 많이 기록되고 push가 되어버렸습니다. 이때, .gitignore 폴더에 해당 폴더들을 추가하면서 git에서 제외되도록 아래와 같이 작성했습니다. .gitignore 폴더 내용 .metadata bin/ tmp/ *.tmp *.bak *.swp *~.nib .loadpath .recommenders​ 👉 가장 중요한 .metadata 폴더와 bin 폴더를 추가했습니다.. 더보기
[JAVA] 조건문, 반복문을 이용한 문제 풀이 11(은행) 목차 1. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 1(윤년 계산기) 2. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 2(주사위 게임) 3. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 3(배수 판별기) 4. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 4(청구 금액 계산기) 5. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 5(다독왕) 6. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, .. 더보기
[JAVA] 조건문, 반복문을 이용한 문제 풀이 10(만원의 행복) 목차 1. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 1(윤년 계산기) 2. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 2(주사위 게임) 3. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 3(배수 판별기) 4. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 4(청구 금액 계산기) 5. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 5(다독왕) 6. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, .. 더보기

728x90
반응형