CodeSignal 5번 shapeArea 문제풀이

2020. 1. 7. 18:01·알고리즘/CodeSignal

 

이 문제는 n번째 도형이 몇개의 사각형으로 이루어졌는지 구해야합니다.

제가 처음으로 푼 코드는 아래와 같습니다.

 

def shapeArea(n):
    if n == 1: return 1
    shape = [i * 2 - 1 for i in range(1, n + 1)]
    shape += shape[n - 2::-1]
    return sum(shape)

 

제 방식은 n번째 도형 각층의 개수를 위층에서부터 숫자로 나타내 더해주는 방식입니다.

예를들어 n이 2라면  shape는 [1,3,5,3,1]이 되고 이를 합해 총 개수를 구합니다.

 

하지만 이 문제에서 파이썬 1위 코드는 다음과 같았습니다.

 

def shapeArea(n):
    return n**2 + (n-1)**2

 

위 코드는 도형을 가운데층을 포함한 윗부분과 포함하지않은

아래부분으로 나눈 다음 각각의 개수를 더합니다.

윗부분의 개수는 n=1부터 순서대로 1,4,9,16 이기 때문에 n**2이고,

아래부분의 개수는 가운데층을 포함하지 않기때문에 (n-1)**2입니다

'알고리즘 > CodeSignal' 카테고리의 다른 글

CodeSignal 8번 matrixElementsSum문제풀이  (0) 2020.01.17
CodeSignal 7번 almostIncreasingSequence 문제풀이  (0) 2020.01.11
CodeSignal 6번 makeArrayConsecutive2 문제풀이  (0) 2020.01.11
CodeSignal 4번 adjacentElementsProduct 문제풀이  (0) 2020.01.10
CodeSignal 1번~3번 문제풀이  (0) 2020.01.07
'알고리즘/CodeSignal' 카테고리의 다른 글
  • CodeSignal 7번 almostIncreasingSequence 문제풀이
  • CodeSignal 6번 makeArrayConsecutive2 문제풀이
  • CodeSignal 4번 adjacentElementsProduct 문제풀이
  • CodeSignal 1번~3번 문제풀이
​​​​
​​​​
  • ​​​​
    개발 블로그
    ​​​​
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 오늘 배운것들
      • 프로젝트
        • NodeJs-유튜브 음질 뷰어
        • 직접 설계해본 ERD
        • URL 단축&방문수 분석 사이트
        • GPT로 영어 공부하기
      • 알고리즘
        • 백준
        • CodeSignal
        • 프로그래머스
      • JavaScript
        • Npm Modules
        • VanillaJS
        • NodeJS
      • CI&CD
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
​​​​
CodeSignal 5번 shapeArea 문제풀이
상단으로

티스토리툴바