[Programmers, C++]#Level2_최댓값과 최소값, stringstream, istringstream, sstream

2024. 9. 12. 17:46· 문제 풀이/Programmers 문제 풀이
목차
  1. #1. 문제
  2. #2. 풀이
  3. 1. istringstream, ostringstream
  4. 2. istringstream, ostringstream 활용
  5. #3. 코드

#1. 문제

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 


 

#2. 풀이

 

1. istringstream, ostringstream

#include <sstream>
istringstream(입력 문자열 스트림): 문자열로부터 데이터를 읽어오는 입력 스트림 클래스입니다. 문자열을 입력 스트림으로 취급하여 다양한 데이터 타입으로 파싱 할 수 있습니다. 

ostringstream(출력 문자열 스트림): 데이터를 문자열로 출력하는 출력 스트림 클래스입니다. 다양한 데이터 타입을 문자열로 변환하여 하나의 문자열로 조합할 수 있습니다.

 

2. istringstream, ostringstream 활용

  1. 주어진 문자열 s를 istringstream 객체에 넣어줍니다.
  2. while 문을 돌며 문자열 s를 파싱한 결과를 임시 문자열에 넣어줍니다.
  3. 임시 문자열을 int로 변환하고, 최댓값과 최솟값 업데이트 작업을 진행합니다.
  4. 마지막으로, 최소값과 최댓값을 문자열로 변환하기 위해 ostringstream(출력 문자열 스트림)를 활용하고, oss.str()을 반환해 줍니다.

 


 

#3. 코드

/*
    @링크: https://school.programmers.co.kr/learn/courses/30/lessons/12939
    @문제: Level2, 최댓값과 최솟값
    @설명
        1. stringstream 헤더, istringstream
*/

#include <string>
#include <sstream>
#include <algorithm>
#include <limits>

using namespace std;

string solution(string s) {
    istringstream iss(s);
    string token;
    int minVal = numeric_limits<int>::max();
    int maxVal = numeric_limits<int>::min();

    while (iss >> token) {
        //@공백이 아닌 '-' 혹은 숫자
        int num = stoi(token);

        //@최소 값
        minVal = min(minVal, num);

        //@최대 값
        maxVal = max(maxVal, num);
    }

    //@최솟값, 최대값
    ostringstream oss;
    oss << minVal << ' ' << maxVal;
    return oss.str();
}

 


 

 

 

 

저작자표시 (새창열림)

'문제 풀이 > Programmers 문제 풀이' 카테고리의 다른 글

[Programmers, C++]#Level2_최솟값 만들기, 우선순위 큐, 최소 힙, 최대 힙, 완전 이진 트리  (0) 2024.09.20
[Programmers, C++]#Level2_올바른 괄호, 스택, stack  (0) 2024.09.12
[Programmers, C++]#Level2_큰 수 만들기, stack 컨테이너, stack, 스택  (0) 2024.08.28
[Programmers, C++]#Level2_다리를 지나가는 트럭, 선형 자료구조, queue 컨테이너, deque 컨테이너  (0) 2024.08.22
[Programmers, C++]#Level2_소수 찾기, 백트래킹, 순열 백트래킹, set, 소수, set 컨테이너  (0) 2024.08.08
  1. #1. 문제
  2. #2. 풀이
  3. 1. istringstream, ostringstream
  4. 2. istringstream, ostringstream 활용
  5. #3. 코드
'문제 풀이/Programmers 문제 풀이' 카테고리의 다른 글
  • [Programmers, C++]#Level2_최솟값 만들기, 우선순위 큐, 최소 힙, 최대 힙, 완전 이진 트리
  • [Programmers, C++]#Level2_올바른 괄호, 스택, stack
  • [Programmers, C++]#Level2_큰 수 만들기, stack 컨테이너, stack, 스택
  • [Programmers, C++]#Level2_다리를 지나가는 트럭, 선형 자료구조, queue 컨테이너, deque 컨테이너
Hardii2
Hardii2
Hardii2
개발 블로그
Hardii2
전체
오늘
어제
  • 분류 전체보기
    • 알고리즘
    • 웹 개발
      • Node.js
      • React
    • 게임개발
      • DirectX12
      • 관련 지식
      • Unreal C++
      • Unreal 블루프린트
    • 언어
      • Effective C++
      • Basic C++
      • 디자인 패턴
      • 자료구조
      • 기술 질문
    • 문제 풀이
      • BOJ 문제 풀이
      • Programmers 문제 풀이
      • geeksForgeeks 문제 풀이
    • 수학
      • 확률과 통계
      • 게임수학
    • 개인프로젝트
    • 그룹프로젝트
      • PM
      • Dev
    • Github

블로그 메뉴

  • 홈
  • 글쓰기

공지사항

인기 글

태그

  • 우선순위 큐
  • 알고리즘
  • stl
  • 기술 질문
  • 개발
  • C++
  • 그래프
  • 디자인 패턴
  • Unreal Blueprint
  • unreal
  • programmers
  • dfs
  • BOJ
  • DP
  • Effective C++
  • 트리
  • set
  • BFS
  • 정렬
  • 최단 경로

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
Hardii2
[Programmers, C++]#Level2_최댓값과 최소값, stringstream, istringstream, sstream
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.