문제

멤버마을 멤버집에 살고 있는 우리 친구 현수는 축구를 너~~무 좋아해요♥

멤버학교에 새로 입학한 신입들을 데리고 축구를 하러 나가려는 찰나!! 멤버마을의 촌장인 미스타 "손"은 피곤한 신입들을 보호하고자 현수를 가로막습니다. 옆에서 지켜보고 있던 멤버마을의 부촌장인 새로운 "손"은 한가지 제안을 합니다. 

 

"마을에 쯔쯔가무시가 돌고 있다. 쥐를 잡아와라. 그렇다면 축구를 허락하겠다!"

축구를 너무 사랑하는 우리 친구 현수를 돕기 위해서 다함께 고양이(CAT)를 한마리 찾아볼까요?

 

입력된 문자열에 C, A, T가 순서대로 들어있다면 "YES"를 출력하고,

순서가 섞여 있거나 혹은 없다면 "NO"를 출력하세요.

 

입력

문자열의 길이는 1~50개이며, 'A' 부터 'Z' 이 이외의 문자는 없다.

 

출력

고양이를 찾으면 "YES"

못찾으면 "NO" 

예제 입력1

XCYAZTX

예제 출력1

YES


예제 입력2

CTA

예제 출력2

NO


예제 입력3

SGHDJHFIOPUFUHCHIOJBHAUINUIT

예제 출력3

YES


예제 입력4

CCCATT

예제 출력4

NO

 

HINT

고양이는 한 마리만 잡읍시다! 사료값 아끼자구요!



[문제 풀이]

순서대로 "CAT"이라는 단어가 순서대로 한 번만 존재해야하지만  "YES"가 출력되는 문제이다.

꼭 붙어있을 필요는 없고, 예제 이력 4를 보면 CAT가 하나 있는 것처럼 볼 수도 있겠지만!

CCCATT, CCCATT, CCCATT, CCCATT, CCCATT, CCCAT로 여러가지의 CAT이 나오므로 출력은 NO라고 볼 수 있다.



[소스코드 설명]

변수 cat은 사용자의 입력이 들어가게 되고, cat2에는 C, A, T일 경우, 그 단어를 받아들이는 임시 변수라고 보면 된다.

그리고 여기서 cat2.find("CAT"); 라는 것을 썼는데, 그것은 C++에서 제공하는 find()함수를 이용하여 cat2에 CAT이 존재하는지를 찾아주는 함수이다.

string::find

CString 개체의 문자열 기준, 좌측에서부터 문자 혹은 문자열을 검색한다.


string::find()를 통하여 원하는 단어나 문장을 검색 후 

그것이 문자열에 있는지 없는지string::npos를 통하여 알 수가 있다.

(string::find()는 찾고자 하는 단어나 문자열이 없으면 string::npos를 리턴한다.)



Posted by 밍쫑
,

              Hadoop 이란?              


하둡에 대해서 알기 전에 역사를 아는 것도 매우 재미있습니다. 시간이 되시는 분들은 찾아보시길..


"아파치 하둡(Apache Hadoop, High-Availability Distributed Object-Oriented Platform)"
 대량의 자료를 처리할 수 있는 큰 컴퓨터 클러스터에서 동작하는 분산 응용 프로그램을 지원하는 프리웨어 자바 소프트웨어 프레임워크이다. 원래 너치의 분산 처리를 지원하기 위해 개발된 것으로, 아파치 루씬의 하부 프로젝트이다. 분산처리 시스템인 구글 파일 시스템을 대체할 수 있는 하둡 분산 파일 시스템(HDFS: Hadoop Distributed File System)과 맵리듀스를 구현한 것이다.


- WIKI, 위키백과 -/

 


  • 하둡은 분산 저장소와 연산 기능을 모두 제공하는 플랫폼
  • 하둡은 오픈소스 프로젝트 (∴라이선스 비용에 대한 부담 x)
  • 아파치 하둡 프로젝트의 특징
    • 안정적이고, 신뢰할 수 있다(reliable)
    • 확장이 용이(scalable)
    • 분산 컴퓨팅(distributed computing) 환경 지원




[ 하둡 분산 파일 시스템 (HDFS; Hadoop Distributed File System) ]

  • 하둡은 저장을 위한 하둡 분산 파일 시스템(HDFS; Hadoop Distributed File System)으로 구성된 마스터-슬레이브 아키텍처와 연산을 위한 맵리듀스로 이뤄진다.
    • 마스터 : 슬레이브 노드에서 실행 예약할 연산 작업을 관리하는 책임을 담당
    • HDFS 마스터 : 슬레이브 노드 사이의 저장 공간 파티셔닝과 데이터 저장 위치를 관리하는 책임을 담당
  • 하둡의 저장 공간과 연산 능력은 하둡 클러스터에 호스트를 추가함에 따라 늘어나고, 수천 개의 호스트를 클러스터에 추가해 페타바이트 크기의 데이터까지 처리 할 수 있다.


HDFS는 하둡의 저장소 컴포넌트이다.
  1. 큰 블록 크기 밍 데이터 로컬리티(data locality)를 통한 최적화를 활용해 네트워크 입/출력을 줄인다.
  2. 확장성과 가용성 또한 HDFS의 핵심 특징이다.
  3. HDFS는 설정된 횟수만큼 파일을 복제하고, 소프트웨어 및 하드웨어의 장애를 견뎌낼 수 있으며, 장애가 생긴 노드에서는 데이터 블록을 자동으로 재복제한다.
  4. 마스터노드데이터 노드를 갖지 않고, JobTracker를 갖는다.
  5. 슬레이브 노드 중 하나 Secondary NameNode를 갖고, 슬레이브 노드들은 TaskTracker를 갖는다.








[ 하둡 에코시스템 ]



Posted by 밍쫑
,

페이퍼 플레인 (Paper Planes)

PP1101 그레이 오렌지


재질 : 천연가죽

원산지 : 국산 Made in Korea




봄도 오고 밝은 색상의 운동화가 갖고싶었던 찰나에!

저렴하면서도 이쁜 디자인의 운동화를 발견했습니다.

바로 국내 운동화 브랜드인 "페이퍼 플레인"의 PP1101 운동화인데요~




주문한지 하루만에 도착한 운동화!

그리고 비닐에 싸여있는 운동화!


여기서 가격이 저렴한 이유 중 하나를 알 수 있습니다.

온라인에서 구매해서 그런 것인지는 모르겠지만....


바로 다른 운동화 브랜드와는 다르게 운동화 박스가 없다는 것입니다.

그냥 택배 박스 안에 저렇게 비닐로 싸여있는 운동화만 온다는 것입니다.


근데 뭐..운동화 박스 쓸 일이 많이 없으니 패스~~~



처음 운동화 꺼냈을 때의 모습입니다.

신발 안쪽에는 흰색 끈오렌지 색 끈이 들어있습니다.



신발에 달려있는 품질보증서입니다.

정품임을 증명해주는 그런거겠죠..?



옆 모습입니다.

회색이라 금방 더러워질거같진 않습니다 ㅎㅎ

대신 재질이 완전 맨질맨질한게 아닌지라~ 뭐 묻으면 잘 안지워지지 않을까 걱정은 됩니다만
그건 신는 사람이 어떻게 신냐에 따라 다른거니까요 ㅎㅎ


뉴발 신발의 재질과 비슷한 것으로 보입니다.



끈에도 페이퍼 플레인이라고 써있는 장식품이 있습니다.

이게 마음에 안드시는 분들은 그냥 빼고 다니셔도 될 거 같습니다.



머리 부분에도 페이퍼 플레인 로고가 있습니다!



신발 옆 모습 자세히 찍은 것인데요.

재질이 어떤 느낌인지 잘 보이시죠?


신발의 앞 코 부분은 메쉬 소재라서 쉽게 찢어질 수도 있으니 조심하셔야 됩니다.

대신 통풍은 굳!!



혹시나 저처럼 더러워지는 거 때문에 걱정되서 구매를 망설이시는 분들을 위한 조언!!


참고로 요즘에는 천연가죽 재질의 운동화를 위한 전용 클리너 제품이 있으니

혹시나 더러워졌어도 너무 걱정하지 마세요 ㅎㅎ



뒤에도 쎈스있게(?) 박혀있는 로고!



처음 사보는 에어 운동화!


에어가 있어서 그런건지는 모르겠지만..

그 마사이족 운동화 같이 둥글둥글한 느낌도 있고요


에어라서 뭔가 좀 푹신한 느낌이 있어서

발이 편하더라고요.


이래서 에어 신던 사람들은 에어를 계속 신는 거 같아요!




포인트를 주는 제품명!!

PP1101




미끄럼 방지가 되는 밑창!



그리고 이 끈 묶는 부분이 좀 특이한게

구멍이 많죠?

신발 앞 부분의 통풍을 위한 메쉬소재를 사용함과 동시에 이 구멍에어쿠셔닝 시스템과 합쳐져서
신발을 숨쉬게(?) 한답니다.

덕분에 오래 신어도 쾌적함을 느낄 수 있다고 하더라고요.




마무리 사진으로! 끈 묶고 나서의 사진 ㅎㅎㅎ

Posted by 밍쫑
,