[프로그래머스_1] 나머지가 1이 되는 수 찾기 JAVA

2022. 6. 15. 00:17·알고리즘/알고리즘 풀이
반응형

 

코딩테스트 연습 - 나머지가 1이 되는 수 찾기

자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한사항 입

programmers.co.kr

 

 

문제 설명

자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다.

 

제한 사항

  • 3 ≤ n ≤ 1,000,000

 

입출력 예

 

CODE

class Solution {
    public int solution(int n) {
        
        boolean isEven = n % 2 == 0 ? true : false;
        
        if(isEven) {
            for(int i = 1; i < n; i+=2) {
                if(n % i == 1) return i;
            }
        } else {
            for(int i = 1; i < n; i++) {
                if(n % i == 1) return i;
            }
        }
        return -1;
    }
}

처음에는 쉽게 생각해서 for문의 i 값을 1로 주고 1씩 증가시켜서 나머지 연산을 하는 방법으로 코딩했는데 조금 더 빠르게 하는 방법이 없을까 고민하다가 n의 값이 짝수인 경우에는 짝수로 나눈 나머지 값이 무조건 짝수라는 생각에 for문을 돌기 전에 n의 값이 짝수인지 판별 후 짝수이면 2씩 증가하고, 홀수이면 원래 생각했던 i가 1씩 증가하는 for문을 작성했다. 그런데 더 생각해보니 홀수의 경우는 무조건 2로 나누면 나머지가 1인 거 같아 코드를 변경하고 제출해보니 정답이었다..!

 

반응형

 

CODE2

class Solution {
    public int solution(int n) {
        
        boolean isEven = n % 2 == 0 ? true : false;
        
        if(isEven) {
            for(int i = 1; i < n; i+=2) {
                if(n % i == 1) return i;
            }
        } else return 2; // n 값이 홀수인 경우에는 무조건 2를 return
        return -1;
    }
}

 

실행 결과

 

반응형
저작자표시 비영리 변경금지 (새창열림)
'알고리즘/알고리즘 풀이' 카테고리의 다른 글
  • [프로그래머스_1] 가운데 글자 가져오기 JAVA
  • [프로그래머스_1] 두 정수 사이의 합 JAVA
  • [프로그래머스_1] K번째수 JAVA
  • [프로그래머스_1] 음양 더하기 JAVA
데부한
데부한
어차피 할 거면 긍정적으로 하고 싶은 개발자
    반응형
  • 데부한
    동동이개발바닥
    데부한
  • 전체
    오늘
    어제
    • 분류 전체보기 (307)
      • 방통대 컴퓨터과학과 (27)
        • 잡담 (9)
        • 3학년1학기 (17)
      • 프로젝트 및 컨퍼런스 회고 (1)
        • 프로젝트 (4)
        • 한이음 프로젝트 (0)
        • 회고 (3)
      • 공부 (165)
        • Spring (37)
        • JPA (71)
        • 인프런 워밍업 클럽_BE (10)
        • Java (6)
        • React.js (27)
        • 넥사크로 (11)
        • 기타 (3)
      • 알고리즘 (85)
        • 알고리즘 유형 (10)
        • 알고리즘 풀이 (57)
        • SQL 풀이 (18)
      • 에러 해결 (13)
      • 잡담 (7)
        • 국비교육 (2)
        • 구매후기 (5)
        • 진짜 잡담 (0)
  • 블로그 메뉴

    • Github
    • Linkedin
    • 홈
    • 방명록
    • 글쓰기
    • 관리
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    토이프로젝트
    Java
    개발자
    전자정부프레임워크
    egov
    에러해결
    SpringBoot를 이용한 RESTful Web Service 개발
    기출문제
    백준
    자바스크립트
    프로그래머스
    넥사크로
    인프런
    SQL
    코딩테스트
    Spring
    RESTful
    운영체제
    react
    프론트엔드
    QueryDSL
    알고리즘
    MSA
    springboot
    oracle
    스프링부트
    IT
    JPA
    방통대
    토비의스프링부트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
데부한
[프로그래머스_1] 나머지가 1이 되는 수 찾기 JAVA
상단으로

티스토리툴바