대문자로 통일 JavaScript 풀이

2026.09.06·수정 2026.09.13·약 3분·작성: 해비·블로그 소개

문자열을 대문자로 바꾸기

입력 문자열 전체를 대문자로 변환하는 문제입니다. JavaScript의 문자열 메서드를 사용하면 변환 의도가 분명한 한 줄로 처리할 수 있습니다.

목차

문제

대문자와 소문자가 함께 있는 문자열 하나를 입력받아 모든 영문자를 대문자로 통일해 출력합니다. 문자열 길이는 100 이하이며, 예제 입력 ItisTimeToStudy의 출력은 ITISTIMETOSTUDY입니다.


풀이와 정답

풀이와 정답 보기 (클릭)

표준 입력에서 문자열을 읽고 toUpperCase()로 전체를 대문자로 바꾼 뒤 출력합니다. 문자마다 별도의 조건문을 둘 필요가 없습니다.

알고리즘 설계

문자열의 각 문자가 같은 방향으로 정리되어 대문자 결과로 모이는 흐름을 표현한 평면 일러스트
문자열의 각 문자를 같은 규칙으로 변환해 결과를 만드는 흐름입니다.

제공된 풀이처럼 각 문자의 코드가 소문자 a부터 z 범위인지 확인하고 32를 빼는 방법도 영문 알파벳에는 맞습니다. 다만 범위 조건과 문자 코드 계산을 직접 관리해야 하므로, 이 문제에서는 문자열 전체를 변환하는 toUpperCase()가 더 간결하고 의도를 바로 드러냅니다.

toUpperCase()는 원본 문자열을 바꾸지 않고 변환된 새 문자열을 반환합니다. 입력 길이가 최대 100이므로 문자열을 한 번 순회하는 방식이면 제한 안에서 충분합니다.

JavaScript 풀이

입력 문자열이 처리 단계를 거쳐 출력 문자열로 이어지는 과정을 나타낸 평면 일러스트
입력을 읽고 대문자로 변환한 뒤 출력하는 단일 처리 흐름입니다.

아래 코드는 Node.js의 표준 입력을 문자열로 읽어 결과를 출력합니다.

const fs = require('fs');

const input = fs.readFileSync(0, 'utf8').trim();

console.log(input.toUpperCase());

trim()은 마지막 개행만이 아니라 문자열 앞뒤의 공백·탭·개행을 모두 제거합니다. 이 문제의 입력은 영문 문자열 하나이므로 간결하게 사용할 수 있지만, 앞뒤 공백도 데이터인 문제라면 줄바꿈만 제거하는 방식으로 바꿔야 합니다.

단계
입력 ItisTimeToStudy
대문자 변환 ITISTIMETOSTUDY
출력 ITISTIMETOSTUDY

복잡도와 검증

문자열 길이를 N이라 하면 모든 문자를 확인하므로 시간 복잡도는 O(N)입니다. 입력 문자열 저장 공간은 O(N)이고, 변환 결과로 새 문자열이 만들어지므로 풀이의 추가 공간도 O(N)입니다.

입력 기대 출력 확인 목적
ItisTimeToStudy ITISTIMETOSTUDY 원문 예제
hello HELLO 모두 소문자
ALREADY ALREADY 이미 대문자
aBcZ ABCZ 혼합 문자열

풀이 전에 확인할 순서

  1. 입력값과 출력값을 한 문장으로 다시 적습니다.
  2. 반복할 대상과 비교·저장할 값을 정합니다.
  3. 필요한 자료구조와 시간복잡도를 예상합니다.
  4. 코드를 보기 전에 손으로 작은 예제를 계산합니다.
힌트: 대문자로 통일 JavaScript 풀이

정답 코드를 바로 따라 쓰기보다, 본문에서 값이 갱신되는 조건과 반복 범위를 먼저 찾으세요. 반복 한 번마다 반드시 유지되어야 하는 값이 무엇인지 적으면 풀이의 중심 변수를 고르기 쉽습니다.

테스트 확인

  • 가능한 가장 작은 입력
  • 같은 값이나 문자가 반복되는 입력
  • 정답이 처음 또는 마지막 위치에서 결정되는 입력
  • 입력 제한에 가까운 경우의 실행 시간

확인 결과: 본문의 예제뿐 아니라 위 경계 사례에서도 예상값과 실제 출력이 같아야 풀이가 완료됩니다.

이 글이 도움이 되었나요?

조회 중

코딩테스트 JavaScript 학습 순서

필수 49개 · 전체 49개

읽음 기록 관리

전체 과정 목차 (49개)
  1. 필수 길잡이 · 코딩테스트 JS 자료구조 로드맵: 배열, 해시, 스택, 투 포인터 순서
  2. 필수 학습 · 세 수 중 최솟값 JavaScript 조건문 풀이 정리
  3. 필수 학습 · 삼각형 판별하기 JavaScript 풀이
  4. 필수 학습 · 연필 개수 JavaScript 풀이
  5. 필수 학습 · 1부터 N까지 합 출력하기 JavaScript 풀이
  6. 필수 학습 · 최솟값 구하기 JavaScript 풀이|배열 순회와 비교 갱신 원리
  7. 필수 학습 · 홀수 JavaScript 풀이: 조건 판별과 결과 처리 정리
  8. 필수 학습 · 10부제 JavaScript 풀이: 끝자리 비교로 위반 차량 수 세기
  9. 필수 학습 · A를 #으로 JavaScript 풀이: 문자열 순회와 치환
  10. 필수 학습 · 문자 찾기 JavaScript 풀이: 문자열 순회로 개수 세기
  11. 필수 학습 · 대문자 찾기 JavaScript 풀이
  12. 필수 학습 · 대문자로 통일 JavaScript 풀이 현재 글
  13. 필수 학습 · 대소문자 변환 JavaScript 풀이
  14. 필수 학습 · 일곱 난쟁이 JavaScript 풀이: 두 명을 제외하는 완전탐색
  15. 필수 학습 · 코딩테스트 JS Map 풀이: 학급 회장 득표수 세기
  16. 필수 학습 · 코딩테스트 JS 스택 풀이: 올바른 괄호 검증하기
  17. 필수 학습 · 코딩테스트 JS 스택 풀이: 괄호문자 제거하기
  18. 필수 학습 · 코딩테스트 JS 스택 풀이: 크레인 인형뽑기 처리법
  19. 필수 학습 · 코딩테스트 JS 스택 풀이: 후위식 연산 계산하기
  20. 필수 학습 · 코딩테스트 JS 스택 풀이: 쇠막대기 레이저 절단 개수 세기
  21. 필수 학습 · 코딩테스트 JS 투 포인터 풀이: 두 정렬 배열 합치기
  22. 필수 학습 · 코딩테스트 JS 투 포인터 풀이: 공통 원소 추출하기
  23. 필수 학습 · 코딩테스트 JS 슬라이딩 윈도우 풀이: 최대 매출 구간 합 계산하기
  24. 필수 학습 · JavaScript 투 포인터: 합이 M인 연속 부분수열 개수
  25. 필수 학습 · 코딩테스트 JS 해시 풀이: 모든 아나그램 찾기
  26. 필수 학습 · 가장 긴 문자열 JavaScript 풀이
  27. 필수 학습 · 가운데 문자 출력 JavaScript 풀이
  28. 필수 학습 · 중복문자제거 JavaScript 풀이
  29. 필수 학습 · 코딩테스트 JS 고급: 최소 힙으로 다익스트라 최단 경로 구하기
  30. 필수 학습 · 코딩테스트 JS Union-Find: 연결 성분 수와 크기 구하기
  31. 필수 학습 · 코딩테스트 JS Trie: 접두사에 맞는 단어 수 세기
  32. 필수 학습 · 코딩테스트 JS Fenwick Tree: 값 갱신과 구간 합 처리
  33. 필수 학습 · 코딩테스트 JS 세그먼트 트리: 단일 대입과 구간 합
  34. 필수 학습 · 코딩테스트 JS LRU 캐시: 지도 타일 재사용 기록
  35. 필수 학습 · 코딩테스트 JS AVL 트리: 기준 이상 최솟값 찾기
  36. 필수 학습 · 코딩테스트 JS 큐: 상담 창구 대기열 명령 처리
  37. 필수 학습 · 코딩테스트 JS 연결 리스트: 재생 대기 목록 관리
  38. 필수 학습 · JavaScript 원형 덱 연습: 최근 기록 창과 되돌리기
  39. 필수 학습 · JavaScript 해시 테이블 연습: 정규화 문자열 빈도와 등장 순서
  40. 필수 학습 · JavaScript 트리 순회 연습: 깊이별 노드 묶기
  41. 필수 학습 · JavaScript BST 연습: 닫힌 구간의 중복 키 보고서
  42. 필수 학습 · JavaScript 최소 힙 연습: 동률 순서를 지키는 작업 스케줄러
  43. 필수 학습 · JavaScript 그래프 연습: 연결 구역 크기를 작은 순서로 출력하기
  44. 필수 학습 · 중복단어제거 JavaScript 풀이
  45. 필수 학습 · TypeScript 이진 탐색 연습: 숫자 카드 존재 여부 확인
  46. 필수 학습 · 큰 수 출력하기 JavaScript 풀이
  47. 필수 학습 · 보이는 학생 JavaScript 풀이
  48. 필수 학습 · 가위바위보 JavaScript 풀이
  49. 필수 학습 · 점수계산 JavaScript 풀이

새 글 받아보기

RSS 리더에서 BlogFlow의 새 글을 확인할 수 있습니다.

RSS 피드 구독하기

댓글 남기기