Loading...

반복문으로 구현하는 세그먼트 트리(iterative segment tree) 배우기

1. 반복문으로 구현하는 세그먼트 트리 세그먼트 트리 기본 버전은 재귀함수로 구현되어 있다 import math def create_segment(A,tree,tree_index,start,end): if start == end: tree[tree_index] = A[start] else: mid = (start+end)//2 create_segment(A,tree,2*tree_index,start,mid) create_segment(A,tree,2*tree_index+1,mid+1,end) tree[tree_index] = tree[2*tree_index] + tree[2*tree_index+1] def query_sum(tree,tree_index,start,end,left,right): if lef..

자바 초보에서 알고리즘 B형까지 도전기3 -반복문 필수지식1-

1. 중괄호 쓰지 않는 for문, while문 if문과 마찬가지로 바로 아래 1줄만 for문 내부 코드로 생각하고 이외의 코드는 for문 내부 코드가 아니라고 생각한다 while문도 마찬가지다. public class Main { public static void main(String[] args) { for (int i = 5; i < 7; i++) System.out.println(i); // for 내부 코드 System.out.println(2 * 2); // for 내부 코드가 아님 } } 5 6 4 2. 공백을 두고 한줄로 출력하기 python에서는 리스트에 담아서 *을 붙여서 출력했지만.. java에서는 for문을 이용해 System.out.print(i + " "); 방식으로 가능하다. p..

2023. 2. 1. 01:37

자바 기본 배우기 -반복문-

1. for문 for문은 초기화식, 조건식, 반복 수행할 문장, 증감식 4가지로 구성되어 있다 - 1) 초기화는 반복문이 시작될 때 딱 한번만 실행된다. 그 이후에는, 2) 조건식으로 가서 조건을 검사한다. 그리고 조건식이 참이라면, 3) 반복문을 수행하며 4) 증감식으로 가서 변수를 증감시킨다. 증감이 끝났다면, 2) 다시 조건식으로 가서 조건을 검사한다. 그리고 조건식이 참이면, 3) 반복문 수행 4) 증감식 수행.. 하지만 조건식이 거짓이라면 반복문이 종료된다. - 당연하지만 조건식이 처음부터 거짓이면 단 1번도 반복문을 수행 안할 수도 있다 - 초기화식과 증감식은 ,를 이용해서 둘 이상을 작성할 수도 있다 뭐 이런 느낌인가? for(int i=0,j=0 ; i

2023. 1. 31. 02:16

자바 기본 배우기 -조건문-

1. 제어문 컴퓨터 프로그램의 기본은 위에서부터 아래로 순차적으로 수행됨 하지만 때에 따라서는 아래에 있는 코드를 먼저 수행하고 위로 올라가고 싶을 때가 있는데 그런 경우 사용하는 문법이 제어문이다 제어문에는 조건문과 반복문이 있다 그리고 조건문에는 if문과 switch문이 있다. 2. if문 조건식의 결과에 따라 블록 실행 여부가 결정 조건식에는 true/false 값을 산출할 수 있는 연산식 또는 boolean 타입 변수가 올 수 있다 기본 형태는 if(조건식){ 실행할 문장 1; 실행할 문장 2; ... } true/false를 산출할 수 있는 연산식은 비교연산이나 논리연산 등등 조건식 부분이 참이면 block {}안의 실행할 문장들을 모두 수행하고, 거짓이면 수행하지 않고 아래로 넘어간다 그리고 ..

2022. 10. 20. 15:44

자바스크립트 기초문법5 -반복문-

1. while 조건문이 참이기만 하면 문장을 계속 수행함 while (조건문) { } 2. for문 특정한 조건이 거짓으로 판별될 때까지 반복함 for (; ; ) { } 반복문 for (let i = 0; i < 6; i++)를 진입하면, 먼저 변수 let i = 0을 선언한다. 그 후 조건문 i < 6;을 평가하고, 참이면 코드 블럭을 수행함 다음 코드 블록 수행 후에, i++를 수행하여 i를 증가시킴 위 과정을 반복 참고로 초기 선언을 반드시 let이나 var로 해줘야함 for (let i = 0; i < arr.length; i++) {}의 경우에, 최초 정의한 let i = 0을 재할당해서 i = 1, i = 2, ...로 증가시키므로, 재할당 불가능한 const를 사용하면, 에러남 3. fo..

2022. 8. 9. 01:54

문제의 핵심을 이해하고 정확히 구현하는 알고리즘

1. 문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV134DPqAA8CFAYh&categoryId=AV134DPqAA8CFAYh&categoryType=CODE&problemTitle=view&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 강변에 빌딩들이 옆으로 뺵빽하게 밀집한 지역이 있다. 이곳에서는 빌딩들이 너무 좌우로 밀집하여, 강에 대한 조망은 모든 세대에서 좋지..