프로그래머스 문제 풀기 1.

박상우·2022년 8월 4일
post-thumbnail

자바를 공부하면서 느낀점은 이론만 안다고 해서 모든 문제의 대한 해결 능력이 상승하지 않는다는 것을 느꼈다. 특히 문제풀이가 정말로 중요하다고 생각한다
그래서 오늘 부터 문제를 풀때마다 내가 풀었던 풀이와 해결했던 방법을 기록하고자 한다. 레벨 순서대로 올릴 예정이다.

문제 1.

표준 입력으로 두 개의 정수 n과 m이 주어집니다.
별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.

제한조건 : n과 m은 각각 1000 이하인 자연수입니다.

제한조건이 1000이하인 자연수 이기 때문에 for문의 조건식에서 n(내가 입력한 값)보다 작고 1000이하일때 둘다 만족할때만 입력되게 하였다.

가장 어려웠던 부분 :
가장 생각을 오래한 부분은 내가 입력한 값과 for문의 연관성에 대해서 오랫동안 생각하였다. for문에서 내가 입력한 값을 인식하여야 하기 때문에 위의 Scanner에서 지정한 정수형 타입 변수 n과 m을 for문에 대입시켜 조건에 맞게 충족시켜주었다.

문제 2

함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.

제한조건 :

  • x는 -10000000 이상, 10000000 이하인 정수입니다.
  • n은 1000 이하인 자연수입니다.
    업로드중..

우선 long[] 배열에 값을 집어 넣어야 하기 때문에 배열을 객체화 시켜 주어야 한다. 단, 문제에서 배열안 원소가 n개 만큼 들어가야 하기 때문에 새 배열 객체에 n을 대입시켜야 한다.
sum은 x+x 의 합을 담을 변수로 설정하고 (answer[i])인덱스 번호가 0부터 시작이 되는데 이때 0 -> 첫번째 sum값부터 차례대로 들어가게 됩니다. 그후 이값들을 return 해주면 solution함수에 x와 n 을 차례대로 입력하게 되면 함수기능을 하게 됩니다.

가장 어려웠던 부분 : long[]에 n을 대입하는 것까지 생각은 하였다만 x만 for문으로 구동시켜야 하는데 n까지 for문으로 구동 시켜 코드의 길이가 하드코딩이 되었다. 또한 인덱스번호에 맞는 값을 뺄 방법이 생각 나지 않았어서 시간이 오래 걸렸다.

profile
백엔드 개발자가 되기 위한 여정

0개의 댓글