읽기 약 5분 · 실습 약 5~10분선형 탐색 다음에는 무엇을 개선할까?선형 탐색은 순서가 없는 배열에서도 사용할 수 있지만 최악에는 끝까지 확인합니다. 이미 번호순으로 정리된 회원 목록처럼 데이터가 정렬되어 있다면 가운데 값을 기준으로 절반을 한꺼번에 제외할 수 있습니다. 이것이 이진 탐색입니다. 이번 글에서는 오름차순 숫자 배열에서 원하는 값 하나의 인덱스를 찾습니다. 선수지식은 배열 인덱스, while 반복문, 시간 복잡도입니다.핵심 조건: 정렬 기준과 비교 기준이 같아야 한다가운데 값이 목표보다 작다면 가운데를 포함한 왼쪽 값은 모두 목표보다 작습니다. 그래서 오른쪽만 남깁니다. 가운데 값이 목표보다 크면 왼쪽만 남깁니다. 이 판단은 오름차순 정렬이라는 전제 덕분에 가능합니다. 정렬되지 않은 배열..
전체 글
개발자가 쉽게 풀어 쓰는 디지털 생활과 프로그래밍 이야기. PC 설정과 문제 해결부터 C# 입문, 알고리즘·CS까지 실용적인 방법과 예제를 공유합니다.읽기 약 5분 · 실습 약 10분 · .NET 10 콘솔 프로젝트오늘의 목표지난 편에서는 키보드로 한 줄을 입력받았습니다. 이번에는 숫자로 합계와 나머지를 계산합니다. 핵심은 같은 나눗셈이라도 숫자의 자료형에 따라 결과가 달라진다는 점입니다. 입력값을 숫자로 변환하는 내용은 나중에 배우고, 오늘은 코드에 적은 숫자로 연습합니다.계산 기호 다섯 개수학에서 쓰는 ×와 ÷ 대신 C#에서는 *와 /를 씁니다. %는 나눈 뒤 남는 값을 구합니다. 아래 표는 양의 정수를 기준으로 한 예시입니다.연산자의미예시결과+더하기9 + 413-빼기9 - 45*곱하기9 * 436/나누기9 / 42%나머지9 % 419개를 4개씩 묶으면 두 묶음이 생기고 1개가 남습니다. 이때 정수 나눗셈 /는 묶음 수, %는 남은 개수를 구하는 ..
읽기 약 6분 · 따라 하기 10~20분대상: 비밀번호를 여러 곳에서 돌려 쓰거나, 로그인 알림을 보고 무엇부터 확인할지 막막한 분비밀번호를 길게 바꿨는데도 마음이 놓이지 않나요? 같은 비밀번호를 쓴 다른 사이트, 이미 로그인된 기기, 계정을 되찾는 수단까지 확인해야 합니다. 이번 글에서는 계정 보안을 다섯 단계로 점검하고, Bitwarden과 1Password로 사이트마다 다른 비밀번호를 관리하는 방법을 소개합니다.지금 모르는 로그인이나 결제가 발견됐다면 일반 정리보다 해당 서비스의 공식 계정 복구 절차를 먼저 따르세요. 의심스러운 문자 링크 대신 평소 쓰던 앱이나 직접 입력한 공식 주소로 접속하세요.1. 가장 먼저 이메일과 로그인 기록부터 확인하세요이메일은 여러 서비스의 비밀번호 재설정 안내를 받는 ..
읽기 약 5분 · 실습 약 5~10분왜 실행 시간을 재기 전에 복잡도를 볼까?회원 목록 100개에서는 빠르던 코드가 10만 개에서 갑자기 느려질 수 있습니다. 실행 시간은 컴퓨터 성능, 런타임 최적화, 다른 프로그램의 부하에도 영향을 받습니다. 시간 복잡도는 그런 차이를 잠시 내려놓고, 입력이 커질 때 필요한 작업이 어떤 비율로 늘어나는지 설명합니다. 이번 글은 밀리초를 예측하는 법이 아니라 코드의 성장 방향을 읽는 법을 다룹니다. 선수지식은 배열과 for 반복문입니다.n과 기본 연산을 먼저 정하기n은 무조건 코드의 모든 변수를 뜻하지 않습니다. 회원 목록을 한 번 훑으면 회원 수가 n이고, 문자열을 검사하면 보통 문자열 길이가 n입니다. 이 글에서는 정수 증가 한 번을 기본 연산으로 세겠습니다. 고정 ..
