코딩굼벵이
구르는 중
코딩굼벵이
  • 분류 전체보기 (116)
    • [C_C++]이론 공부 (17)
      • 알고리즘 (11)
      • 이론+STL (6)
    • [C_C++]코딩테스트 연습 (45)
      • [프로그래머스] level 1 (26)
      • [프로그래머스] level 2 (5)
      • [백준] 일반 문제 (12)
      • 기타 (2)
    • Solana (28)
      • Documentation (9)
      • Validator - 공부 (10)
      • Validator - 실행 (devnet & te.. (6)
      • 그 외 (3)
    • React (4)
    • Linux (2)
    • Javascript (2)
    • 블록체인 기반 핀테크 및 응용 SW 개발 (8)
      • React (1)
      • Javascript (3)
      • Solidity (3)
      • 프로젝트 (1)
    • 기타 (10)

블로그 메뉴

  • 🌟 깃허브
  • 🌿 Portfolio(2021)
  • 홈
  • 태그
  • 방명록

티스토리

최근 글

태그

  • 밸리데이터
  • Immer #ContextAPI
  • Hooks #React
  • 모니터링
  • grafana
  • 솔라나

인기 글

전체 방문자
오늘
어제
hELLO · Designed By 정상우.
코딩굼벵이

구르는 중

[C_C++]코딩테스트 연습/[백준] 일반 문제

[백준] 10699 오늘 날짜(C언어)

2022. 7. 24. 17:15
728x90

https://www.acmicpc.net/problem/10699

 

10699번: 오늘 날짜

서울의 오늘 날짜를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

서울의 오늘 날짜 출력

- YYYY-MM-DD 형식으로 출력해야 함

풀이1) 그냥 오늘 날짜 때려박기

#include <stdio.h>

int main() {
	printf("2022-07-24");
	return 0;
}

 

풀이2) time.h 헤더 내장 함수 사용해 범용 코드 짜기

C 에서는 <time.h>, C++ 에서는 <ctime> 사용

time() 함수로 현재 날짜, 시간 얻어와 저장

time_t t = time(NULL);

 

time() 함수를 호출하면 time_t 타입을 반환.
결과값은 1970년 1월1일 0시0분0초 기점으로 현재까지 흐른 시간을 초단위로 나타낸 것

localtime() 함수로 포맷 변환

struct tm t = *localtime(&t);

 

time 함수가 리턴해주는 값은 시스템에 따라 32/62bit 정수이므로 사용하려는 형태에 맞는 포맷팅 필요
=> localtime 함수 사용해 tm 구조체 활용.

  • struct tm 구조체
struct tm {
   int tm_sec;         // 초,  range 0 to 59      
   int tm_min;         // 분, range 0 to 59             
   int tm_hour;        // 시간, range 0 to 23  
   int tm_mday;        // 일, range 1 to 31  
   int tm_mon;         // 월, range 0 to 11     
   int tm_year;        // 1900년 부터의 년                
   int tm_wday;        // 요일, range 일(0) to 토(6) 
   int tm_yday;        // 1년 중 경과 일, range 0 to 365 
   int tm_isdst;       // 써머타임 실시 여부 (양수, 0, 음수)              
};

 

완성 코드

#include <stdio.h>
#include <time.h>

int main() {
    time_t t = time(NULL);
    struct tm tm = *localtime(&t);
    printf("%d-%02d-%02d", 1900 + tm.tm_year, 1 + tm.tm_mon, tm.tm_mday);
    return 0;
}
저작자표시 비영리 변경금지 (새창열림)

'[C_C++]코딩테스트 연습 > [백준] 일반 문제' 카테고리의 다른 글

[백준] 그리디 기초 문제풀이 ① - 5585, 11047, 11399, 2217 (C언어)  (0) 2022.08.20
[백준] 11726, 11727, 14852 2xn 타일링, 2133 3xn 타일링 (C, DP)  (0) 2022.08.18
[백준] 삼성 SW 역량 테스트 기출 - 2048 (Easy) (C언어)  (0) 2022.07.20
[백준] 삼성 SW 역량 테스트 기출 - 구슬탈출2 (C언어)  (0) 2022.07.19
[백준] 11721 열 개씩 끊어 출력하기 - C++ 입출력  (0) 2022.01.22
    '[C_C++]코딩테스트 연습/[백준] 일반 문제' 카테고리의 다른 글
    • [백준] 그리디 기초 문제풀이 ① - 5585, 11047, 11399, 2217 (C언어)
    • [백준] 11726, 11727, 14852 2xn 타일링, 2133 3xn 타일링 (C, DP)
    • [백준] 삼성 SW 역량 테스트 기출 - 2048 (Easy) (C언어)
    • [백준] 삼성 SW 역량 테스트 기출 - 구슬탈출2 (C언어)
    코딩굼벵이
    코딩굼벵이
    구르는 재주 연마 중

    티스토리툴바