본문 바로가기

알고리즘2

[백준] 1159번 : 농구 경기 (#ASCII Code) https://www.acmicpc.net/problem/1159 1159번: 농구 경기 상근이는 농구의 세계에서 점차 영향력을 넓혀가고 있다. 처음에 그는 농구 경기를 좋아하는 사람이었다. 농구에 대한 열정은 그를 막을 수 없었고, 결국 상근이는 농구장을 청소하는 일을 시작 www.acmicpc.net 입력받은 이름은 모두 소문자라는 조건이 있다. 일단 첫글자 알파벳이 몇개씩 들어있는지 저장하기 위한 int 배열을 선언한다. 예를들어 이름의 첫글자가 c라면 c - 'a' 계산을 하여 아스키코드로 99 - 96 = 3 이라는 값이 나온다. a[3] 에 +1을 해준다. 위와 같은 방식으로 입력받은 이름의 첫글자 -'a'를 한 int 배열의 위치에 +1을 해주면 된다. 모든 이름의 카운팅이 끝나면 int 배.. 2023. 11. 26.
Big-O 표기법 *인프런의 [C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘 강의를 듣고 복습하기 위해 정리한 글입니다. 우리가 알고리즘을 연구하는 이유는 좀 더 효율적인 코드를 위해서다. 그러기 위해선 사용하려는 알고리즘의 효율성이 기존보다 더 좋다는 것을 입증해야 한다. 알고리즘의 효율을 측정하기 위해서는? 실행 속도 비교? => 환경에 의존적 입력(데이터)이 적은 구간과 많은 구간에서 성능이 확연히 차이가 날 경우? => 일관적으로(?) 효율적이지 않은 상황 그래서 대안으로 객관적인 Big-O표기법을 사용한다. 1. 수행되는 연산(산술, 비교 대입 등)의 개수를 '대략적으로' 판단한다. 2. 영향력이 가장 큰 대표 연산만 남긴다. 상수는 무시한다. 위 코드를 Big-O표기법으.. 2023. 7. 2.