Today I Learned

[내일배움캠프 QA/QC 6기] TIL #024 기초 프로젝트 끝!!

JiJi0406 2026. 6. 15. 21:42

001

오늘의 코드카타

34, 문자열 내림차순으로 배치하기

 

 

문제 설명

문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.

s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.

 

제한사항

  • str은 길이 1 이상인 문자열입니다.

입출력 예

s return
"Zbcdefg" "gfedcbZ"

 

 

더보기
def solution(s):
    a = list(s)
    a.sort(reverse = True)
    return ''.join(a)

 

문자열 s를 리스트로 바꿈 → sort함수로 내림차순 배열 → join 함수로 다시 문자열로 바꾸기

 

 


 

 

002

기초 프로젝트 : 발표 D -Day

 

첫번째 프로젝트, 기초 프로젝트의 발표를 성공적으로 마쳤습니다.

👏👏👏👏👏

 

순서가 어떻게 정해진 건지는 모르겠지만 어쩌다보니 마지막 순서가 되어서 좀 부담이...

그래도 어찌저찌 잘 끝냈다.

 

그리고 대망의 피드백 시간.....

 

.

.

.

 

튜터님 피드백 한줄 요약

기초 프로젝트 단계에서 요구하는 가장 이상적인 프로젝트와 발표

 

와우

 

 

 

 

 

👍 잘한 점

 

1. 배운 내용들 바탕으로 프로젝트 목표를 완벽하게 달성했다

 지금까지 학습한 데이터 시각화 기법을 활용해서 분석 목적을 명확하게 설정하고, 이를 발표 자료에 자연스럽게 녹여냈다는 점에서 좋은 평가를 받을 수 있었다.

 

2. 전달하고자 하는 내용을 이해하기 쉽게 설명했다

 발표 과정에서 단순히 플롯 보여주고 끝내는 게 아니라, 왜 해당 분석을 수행했는지 + 어떤 의미를 가지는지를 충분히 설명하려고 노력했다. (그래서 발표가 좀 길어졌음...ㅎ 제한 시간 때문에 빨리 말하느라 숨도 차고 발음도 꼬여서 힘들었따...^^) 그 결과 발표 전달력 측면에서 긍정적인 피드백을 받을 수 있었던 것 같다 😁

 

3. 데이터에 대한 의심과 탐색을 멈추지 않았다

 전체 데이터를 분석한 결과만으로 결론을 내리지 않고, 공정별로 데이터를 분리하여 추가 분석을 진행했다. (처음에 공정 안 나누고 분석 진행하다가, 심슨의 역설 내용 들었던 게 빡 떠올라서 그걸 반영했다. 아마 저번주 TIL에 이 내용 적었던 거 같다.) 이를 통해 전체 데이터에서는 보이지 않던 패턴을 발견할 수 있었고, 데이터 분석에서는 끊임없는 의심과 호기심이 중요하다는 걸 튜터님께서 피드백 시간에 말씀해주셔서 다시 한번 새길 수 있었다. 

 

4. 근거와 한계점을 함께 제시했다

 분석 과정에서 발견한 현상을 설명하기 위해 관련 문헌과 자료를 조사하여 근거를 제시한 점도 좋게 봐주셨다.

국가법령정보센터-폐기물관리법 시행규칙-연소시설 규정까지 들어가서 일산화탄소 내용 찾았을 때의 희열감이란...

또 주어진 데이터만으로 검증할 수 없는 부분은 단지 '추론'일 뿐, 검증된 사실과는 명확히 구분하는 게 중요하다고 생각했다. 그래서 발표 자료에도 안내 문구를 넣고, 발표 때도 한번 언급하며 지나갔다.

 

 

 

 

🤔 아쉬웠던 점

 

1. 시각화 설계에 대한 이해가 부족했다

막대그래프와 선그래프를 제작할 때 축 설정에 대한 고려가 부족했다. 이번 프로젝트에서는 평균치 비교를 위해 막대 그래프를 제작했을 때 y축에 0이 포함되어 있어 실제 데이터 변화가 상대적으로 완만하게 표현되었다. 반대로 축 범위를 조정했다면 변화가 더욱 뚜렷하게 보였을 수도 있다고 피드백 주셨다. 같은 데이터라도 시각화 방식에 따라 전달되는 메시지가 달라질 수 있다!

온도/습도 막대 차트가 완만하게 보이는데, y축 범위를 좀 다르게 했으면 차이가 더 보였을 것

 

 

2. 발표 시간 관리가 부족했다

발표 내용과 분석 과정이 많다 보니 분량이 좀 많이 늘어났고... 시간 내에 모든 내용을 전달하는 연습이 충분하지 못했다.

분석 내용을 잘 전달하는 것도 중요하지만, 제한된 시간 안에서 핵심만 효과적으로 전달하는 능력 역시 필요하다는 점을 느꼈다.

 

 


기초 프로젝트 : 심화 분석

- 저온 영역 ‘주의’ 단계 집중 현상 분석

주어졌던 데이터셋의 변수들

1. 왜 이러지???

  • 현상 발견: 온도별 위험 단계 분포를 보려고 제작했던 바이올린 플롯에서, 위험 단계가 높아질수록 데이터가 가장 밀집된 피크 구간의 온도가 우하향하는 현상을 발견함
  • 의문점: 특히 '주의' 단계의 피크 구간이 700도 이하에 집중되어 있었음. 일반적인 상식으로는 온도가 높을수록 위험할 것 같은데 (앞에서 가설도 그렇게 세웠고) ‘왜 저온 영역에서 위험 데이터가 집중될까?’ 라는 의문점이 생겨서 한번 이유를 찾아보기로 결정

 

 

 

2. 데이터 드릴링 & 근거 찾기

 a. 공정별 분리 및 가스별 위험 패턴 비교 

  • 히트맵으로 상관관계 분석했을 때 공정별로 차이가 있었음  주조 공정 절단 공정으로 나누어 각각 산점도로 분석
  • 주조 공정: 700도 기준으로 저온 구간에서 일산화탄소 & 수소 가스의 '주의' 데이터가 비교적 고농도 구간에 반복적으로 밀집되어 있는 것 확인
  • 절단 공정:  저온 구간에서 '주의' 단계가 무작위로 분포 + 저온 영역의 표본 수가 단 3개!!

 

b. 데이터의 통계적 착시(왜곡) 규명

  • 공정유형별 '위험도-온도 상관성'을 계산했을 때 주조(-0.19)와 절단(-0.20) 모두 음의 상관관계가 나와서 겉보기에는 두 공정 다 저온일 때 위험도가 올라가는 것처럼 보였으나...
  • but 자세히 뜯어보니 절단 공정은 700°C 미만 저온 표본 수가 극히 적은 한계(3개) 때문에 평균치가 튀어서 왜곡이 생겼을 가능성 농후(실제로 그렇다고 봄) → 일반화된 위험 규칙이 아님을 규명
  • 압출 공정은 상관관계 -0.01로 무의미하여 제외
  • 결론적으로 저온 영역의 진짜 위험은 주조 공정에만 유의미하게 집중되어 있다는 사실 발견

 

 

 

3. 근거 찾고 새로운 가설 설정

  • 공정 과정 비교해서 주조 공정만이 가지는 특징 뭐가 있나 알아보고
  • 저온 환경에서 두 가스 농도가 높아지는 이유로 '불완전연소'라는 가설 제기
물질이 완전 연소하면 이산화 탄소와 수증기가 남는다. 그러나 연소 온도가 낮고 공기량(산소)이 충분하지 않으면 불완전 연소하는데, 이때에는 일산화 탄소와 그을음이 생성된다. 

 

 

  • 700도라는 온도가 '불완전연소'라는 특이적인 조건을 발생시킨 근거를 찾아야겠다고 생각함
  • [국가법령정보센터 ▶ 폐기물 관리법 시행규칙 ▶ 연소시설 관련 기준 : 800도 이상 유지 + 일산화탄소 농도 관리 요구 내용] 찾아냄. (불완전연소를 막기 위해서 쓰레기 태울 때 온도를 800도 이상 유지해야 한다!)
  • 이를 기반으로 "주조 공정의 700도 이하 구간에서는 연소 효율이 저하되어 '불완전 연소'가 발생했고, 이로 인해 일산화탄소와 수소 가스 농도가 급증하여 위험도가 높아진 것이다"라는 새로운 가설 정립! (실제로 검증은 못하지만...ㅎㅎ)

 

 

 

 


 

 

밍글데이 ox퀴즈 우승했습니다. 감사합니다. 이럴 줄 모르고 장난으로 이름 밤티로 바꿨는데... 우승하고 주목받아서 좀 힘들었습니다.