분류 전체보기 257

Baekjoon1065: 한수

어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. 첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다. 추상화 1) N은 자연수이다 2) 각 자리 수의 숫자를 얻어내야 한다 3) 각 자리 수가 등차수열을 이뤄야한다 제한조건과 확장성 판별 욕심이 들었다. 1000이 아니라 훨씬 큰 숫자들의 한수를 구할 수 있을까? 제한조건은 다음과 같았다 1) 숫자가 커지면 자리 수가 커진다. 각 자리를 구하기 위한 연산을 계속할 수 있는가? 2) 등차수열 판별을 하기위한 각 자리끼리의 연산도 많아진다 위 제한조건에 따..

Study/Baekjoon 2021.10.09

Baekjoon4673: 셀프 넘버, 논리 배열과 StringBuilder의 사용

이 글을 포스팅하기 위해 StringBuilder를 정리했다: https://devyoseph.tistory.com/38 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다. 이런식으로 다음과 같은 수열을 만들 수 있다. 33, 39, 51..

Study/Baekjoon 2021.10.08

Java: StringBuilder의 사용

String의 단점 서로 다른 문자열 변수 두 개가 있고 그 둘을 더한다고 하자 String str1 = "Hello"; String str2 = "World"; str1 + str2는 "HelloWorld"가 되고 이 둘과는 연관없는 새로운 String 변수에 값이 저장된다. 즉, String 연산은 메모리의 낭비가 일어나기 쉽다(불변immutable 객체의 한계성) StringBuilder: String의 단점 보완 StringBuilder를 사용하면 추가적인 인스턴스를 생성없이 문자열의 연산을 수행한다. 기존의 데이터를 참조하는 방식인데 이로 인해 문자의 삽입과 삭제가 자유롭다. 하지만 StringBuilder가 곧 String은 아니다. 연산 이후 String으로 변환해주어야 한다(toString..

Study/Java 2021.10.08

Cannon Game_day12: (2021.10.7) 인트로 화면 리뉴얼

인트로 화면 리뉴얼 일러스트를 인트로 화면으로 도입하는 것에 대해 고심했다 결국 인트로 화면을 다시 만들고 메인 모듈을 새로 만들었다 작업시간이 좀 길었다. 코드 길이도 길었다. 영상부터 업로드했다 보스 이펙트 코딩 일정 타이머마다 공은 커지고 특정 시간에 도달하면 지우기를 반복하며 반짝이는 효과를 가진다 draw(ctx, boss){ this.x = boss.movingX+this.stageWidth/11; this.y = boss.movingY; this.ballX += this.vx; this.ballY += this.vy; if(this.pattern == 0){ this.timer ++; if(this.timer >= 150){ this.radius = this.stageWidth/40; ctx..

CSS: 너비와 높이가 100%일 때 가운데 정렬과 세로정렬, 요소 겹치기

화면 중앙에 버튼을 만들고 싶을 때가 있다 정가운데로 정렬할 수 있는 방법들을 생각해보았다 가로정렬과 세로정렬... 결국 난장판이 되었다 display속성을 꼭 사용하지 않아도 된다: position과 z-index 속성의 활용 position은 요소를 겹칠 때 사용하는 속성이다 하지만 어느 때는 옮겼지만 뒤로 가버리는 사태가 발생한다 겹칠 때 보여줄 우선순위를 정해주는 속성이 바로 z-index이다 방법은 다음과 같다 1) position: absolute; //절대 위치로 변환하고 2) top: 50%; left 50%; //퍼센트로 중앙 배치를 실현한다 3) z-index = 1; //우선순위를 1순위로 만든다 *flex, table등 많지만 여기선 다루지 않는다 .first{ background-..

Study/HTML, CSS 2021.10.07